From 398a7ac71333208e31d67f3ce50514fab58ba1bb Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Sun, 10 Aug 2014 20:19:30 +0100 Subject: [PATCH] backend: try gdk backend before x11/wayland/egl Quite a few people at Guadec complained of pinpoint being broken in speaker+fullscreen mode, with slides being half displayed. It turns out that the X11 backend of clutter was being used and this backend assumes the size of the current monitor is the size of the X screen (that's not the case with multiple monitors). To work around the shortcomings of the X11 backend we should probably position the GDK one before. GDK implements most of the logic the ClutterStage needs and is probably more tested. https://bugzilla.gnome.org/show_bug.cgi?id=734587 --- clutter/clutter-backend.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/clutter/clutter-backend.c b/clutter/clutter-backend.c index d255eee8b..4b1795602 100644 --- a/clutter/clutter-backend.c +++ b/clutter/clutter-backend.c @@ -491,6 +491,11 @@ _clutter_create_backend (void) retval = g_object_new (CLUTTER_TYPE_BACKEND_WIN32, NULL); else #endif +#ifdef CLUTTER_WINDOWING_GDK + if (backend == NULL || backend == I_(CLUTTER_WINDOWING_GDK)) + retval = g_object_new (CLUTTER_TYPE_BACKEND_GDK, NULL); + else +#endif #ifdef CLUTTER_WINDOWING_X11 if (backend == NULL || backend == I_(CLUTTER_WINDOWING_X11)) retval = g_object_new (CLUTTER_TYPE_BACKEND_X11, NULL); @@ -505,11 +510,6 @@ _clutter_create_backend (void) if (backend == NULL || backend == I_(CLUTTER_WINDOWING_EGL)) retval = g_object_new (CLUTTER_TYPE_BACKEND_EGL_NATIVE, NULL); else -#endif -#ifdef CLUTTER_WINDOWING_GDK - if (backend == NULL || backend == I_(CLUTTER_WINDOWING_GDK)) - retval = g_object_new (CLUTTER_TYPE_BACKEND_GDK, NULL); - else #endif if (backend == NULL) g_error ("No default Clutter backend found.");