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
This commit is contained in:
parent
2c9498c3e4
commit
002b2902f3
6
ui/gtk.c
6
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())) {
|
||||
|
32
vl.c
32
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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user