summaryrefslogtreecommitdiff
path: root/clutter-gtk
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2014-04-16 13:25:01 -0400
committerJasper St. Pierre <jstpierre@mecheye.net>2014-04-16 14:00:24 -0400
commitfbd88895c586a27bacd82d153d6ba21e3753e80c (patch)
treea143f4341eea2457ca45726a2c5dae7ec90dfa6d /clutter-gtk
parenta160c1ea1dc5f0f7b8a5e6a6b25a6df8c8a16228 (diff)
downloadclutter-gtk-fbd88895c586a27bacd82d153d6ba21e3753e80c.tar.gz
gtk-clutter-util: Merge fixes from post_parse_hook
Get these two methods back in sync. https://bugzilla.gnome.org/show_bug.cgi?id=695737
Diffstat (limited to 'clutter-gtk')
-rw-r--r--clutter-gtk/gtk-clutter-util.c27
1 files changed, 21 insertions, 6 deletions
diff --git a/clutter-gtk/gtk-clutter-util.c b/clutter-gtk/gtk-clutter-util.c
index 014c8f6..fdd2ba8 100644
--- a/clutter-gtk/gtk-clutter-util.c
+++ b/clutter-gtk/gtk-clutter-util.c
@@ -178,6 +178,8 @@ ClutterInitError
gtk_clutter_init (int *argc,
char ***argv)
{
+ GdkDisplay *display;
+
if (gtk_clutter_is_initialized)
return CLUTTER_INIT_SUCCESS;
@@ -186,30 +188,43 @@ gtk_clutter_init (int *argc,
if (!gtk_init_check (argc, argv))
return CLUTTER_INIT_ERROR_UNKNOWN;
+ display = gdk_display_get_default ();
+
#if defined(CLUTTER_WINDOWING_GDK)
if (clutter_check_windowing_backend (CLUTTER_WINDOWING_GDK))
{
clutter_gdk_set_display (gdk_display_get_default ());
+ /* let GDK be in charge of the event handling */
clutter_gdk_disable_event_retrieval ();
}
+ else
#endif
-
#if defined(GDK_WINDOWING_X11) && defined(CLUTTER_WINDOWING_X11)
- if (clutter_check_windowing_backend (CLUTTER_WINDOWING_X11))
+ if (clutter_check_windowing_backend (CLUTTER_WINDOWING_X11) &&
+ GDK_IS_X11_DISPLAY (display))
{
+ /* enable ARGB visuals by default for Clutter */
clutter_x11_set_use_argb_visual (TRUE);
+ /* share the X11 Display with GTK+ */
clutter_x11_set_display (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
+ /* let GTK+ be in charge of the event handling */
clutter_x11_disable_event_retrieval ();
}
+ else
#endif
-
-#if defined(CLUTTER_WINDOWING_WIN32)
- if (clutter_check_windowing_backend (CLUTTER_WINDOWING_WIN32))
- clutter_win32_disable_event_retrieval ();
+#if defined(GDK_WINDOWING_WIN32) && defined(CLUTTER_WINDOWING_WIN32)
+ if (clutter_check_windowing_backend (CLUTTER_WINDOWING_WIN32) &&
+ GDK_IS_WIN32_DISPLAY (display))
+ {
+ /* let GTK+ be in charge of the event handling */
+ clutter_win32_disable_event_retrieval ();
+ }
+ else
#endif
+ g_error ("*** Unsupported backend.");
/* We disable clutter accessibility support in order to not
* interfere with gtk accessibility support.