aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2018-05-07 11:55:38 +0200
committerGerd Hoffmann <kraxel@redhat.com>2018-05-15 10:37:40 +0200
commit002b2902f39fd9c2b01881e1ca07db80266dc5bf (patch)
treeeedac0ccfba83cf8d477baf1d4ca67f721d95b61
parent2c9498c3e44cd5574df3baaebfb9d5a095252205 (diff)
ui: switch gtk display to qapi parser
Drop the gtk option parser from parse_display(), so parse_display_qapi() will handle it instead. With this change the parser will accept gl=core and gl=es too, gtk must catch the unsupported gles variant now. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20180507095539.19584-4-kraxel@redhat.com
-rw-r--r--ui/gtk.c6
-rw-r--r--vl.c32
2 files changed, 5 insertions, 33 deletions
diff --git a/ui/gtk.c b/ui/gtk.c
index 568c9563ce..ef6ca7179e 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -2478,7 +2478,11 @@ static void early_gtk_display_init(DisplayOptions *opts)
}
assert(opts->type == DISPLAY_TYPE_GTK);
- if (opts->has_gl && opts->gl) {
+ if (opts->has_gl && opts->gl != DISPLAYGL_MODE_OFF) {
+ if (opts->gl == DISPLAYGL_MODE_ES) {
+ error_report("gtk: opengl es not supported");
+ return;
+ }
#if defined(CONFIG_OPENGL)
#if defined(CONFIG_GTK_GL) && defined(GDK_WINDOWING_WAYLAND)
if (GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())) {
diff --git a/vl.c b/vl.c
index 6b8f946d58..5f1734d851 100644
--- a/vl.c
+++ b/vl.c
@@ -2185,38 +2185,6 @@ static void parse_display(const char *p)
error_report("VNC requires a display argument vnc=<display>");
exit(1);
}
- } else if (strstart(p, "gtk", &opts)) {
- dpy.type = DISPLAY_TYPE_GTK;
- while (*opts) {
- const char *nextopt;
-
- if (strstart(opts, ",grab_on_hover=", &nextopt)) {
- opts = nextopt;
- dpy.u.gtk.has_grab_on_hover = true;
- if (strstart(opts, "on", &nextopt)) {
- dpy.u.gtk.grab_on_hover = true;
- } else if (strstart(opts, "off", &nextopt)) {
- dpy.u.gtk.grab_on_hover = false;
- } else {
- goto invalid_gtk_args;
- }
- } else if (strstart(opts, ",gl=", &nextopt)) {
- opts = nextopt;
- dpy.has_gl = true;
- if (strstart(opts, "on", &nextopt)) {
- dpy.gl = DISPLAYGL_MODE_ON;
- } else if (strstart(opts, "off", &nextopt)) {
- dpy.gl = DISPLAYGL_MODE_OFF;
- } else {
- goto invalid_gtk_args;
- }
- } else {
- invalid_gtk_args:
- error_report("invalid GTK option string");
- exit(1);
- }
- opts = nextopt;
- }
} else {
parse_display_qapi(p);
}