From: Gerd Hoffmann Date: Tue, 6 Mar 2018 09:09:49 +0000 (+0100) Subject: ui/gtk: use GtkGlArea on wayland only X-Git-Tag: v2.12.0-rc0~32^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4c70280592f5357c66f95173ec907920f48c99fa;p=thirdparty%2Fqemu.git ui/gtk: use GtkGlArea on wayland only For dma-buf support we need a egl context. The gtk x11 backend uses glx contexts though. We can't use the GtkGlArea widget on x11 because of that, so use our own gtk-egl code instead. wayland continues to use the GtkGlArea widget. Signed-off-by: Gerd Hoffmann Message-id: 20180306090951.22932-5-kraxel@redhat.com --- diff --git a/ui/gtk.c b/ui/gtk.c index 856429a02fb..4a1622b8872 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -2440,12 +2440,15 @@ static void early_gtk_display_init(DisplayOptions *opts) assert(opts->type == DISPLAY_TYPE_GTK); if (opts->has_gl && opts->gl) { #if defined(CONFIG_OPENGL) -#if defined(CONFIG_GTK_GL) - gtk_use_gl_area = true; - gtk_gl_area_init(); -#else - gtk_egl_init(); +#if defined(CONFIG_GTK_GL) && defined(GDK_WINDOWING_WAYLAND) + if (GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())) { + gtk_use_gl_area = true; + gtk_gl_area_init(); + } #endif + { + gtk_egl_init(); + } #endif }