diff --git a/src/core/main.c b/src/core/main.c index 00f36edfe..cd4e6195f 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -301,9 +301,11 @@ static GSourceFuncs event_funcs = { static void meta_clutter_init (void) { + clutter_x11_enable_xinput (); + clutter_x11_set_display (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); clutter_x11_disable_event_retrieval (); - + if (CLUTTER_INIT_SUCCESS == clutter_init (NULL, NULL)) { GSource *source = g_source_new (&event_funcs, sizeof (GSource)); diff --git a/src/ui/ui.c b/src/ui/ui.c index 9335e18ca..097b2047e 100644 --- a/src/ui/ui.c +++ b/src/ui/ui.c @@ -60,14 +60,6 @@ struct _MetaUI void meta_ui_init (void) { - /* 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. - */ - gdk_disable_multidevice (); - if (!gtk_init_check (NULL, NULL)) meta_fatal ("Unable to open X display %s\n", XDisplayName (NULL));