From 53777b133b0e3f68243e576f50daaefac7038fb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 15 Dec 2010 13:23:08 +0100 Subject: [PATCH] ui: Disable multidevice support in GDK GDK now uses XI2 by default, which conflicts with the X calls done in mutter. Enforce the previous behavior. --- src/ui/ui.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ui/ui.c b/src/ui/ui.c index 929e539a9..5068ecb59 100644 --- a/src/ui/ui.c +++ b/src/ui/ui.c @@ -60,6 +60,16 @@ struct _MetaUI void meta_ui_init (int *argc, char ***argv) { + /* As of 2.91.7, Gdk uses XI2 by default, which conflicts with the + * direct X calls we use - in particular, events caused by calls to + * XGrabPointer/XGrabKeyboard are no longer understood by GDK, while + * GDK will no longer generate the core XEvents we process. + * So at least for now, enforce the previous behavior. + */ +#if GTK_CHECK_VERSION(2, 91, 7) + gdk_disable_multidevice (); +#endif + if (!gtk_init_check (argc, argv)) meta_fatal ("Unable to open X display %s\n", XDisplayName (NULL));