diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index 16ea22ee4d..b662e6ddc1 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -468,14 +468,6 @@ grab_dnd_keys (GtkWidget *widget, unsigned char mask[(XI_LASTEVENT + 7)/8]; gboolean using_xi2; - deviceid = gdk_x11_device_get_id (device); - - if (GDK_IS_X11_DEVICE_MANAGER_XI2 (gdk_display_get_device_manager (gtk_widget_get_display (widget)))) - using_xi2 = TRUE; - else - using_xi2 = FALSE; -#endif - window = gtk_widget_get_window (widget); if (!GDK_IS_X11_WINDOW (window)) { @@ -487,6 +479,13 @@ grab_dnd_keys (GtkWidget *widget, return; } + deviceid = gdk_x11_device_get_id (device); + + if (GDK_IS_X11_DEVICE_MANAGER_XI2 (gdk_display_get_device_manager (gtk_widget_get_display (widget)))) + using_xi2 = TRUE; + else + using_xi2 = FALSE; +#endif root = gdk_screen_get_root_window (gtk_widget_get_screen (widget)); @@ -553,13 +552,6 @@ ungrab_dnd_keys (GtkWidget *widget, gint deviceid; gboolean using_xi2; - deviceid = gdk_x11_device_get_id (device); - if (GDK_IS_X11_DEVICE_MANAGER_XI2 (gdk_display_get_device_manager (gtk_widget_get_display (widget)))) - using_xi2 = TRUE; - else - using_xi2 = FALSE; -#endif - window = gtk_widget_get_window (widget); if (!GDK_IS_X11_WINDOW (window)) { @@ -567,6 +559,14 @@ ungrab_dnd_keys (GtkWidget *widget, return; } + deviceid = gdk_x11_device_get_id (device); + + if (GDK_IS_X11_DEVICE_MANAGER_XI2 (gdk_display_get_device_manager (gtk_widget_get_display (widget)))) + using_xi2 = TRUE; + else + using_xi2 = FALSE; +#endif + root = gdk_screen_get_root_window (gtk_widget_get_screen (widget)); gdk_window_remove_filter (NULL, root_key_filter, (gpointer) GDK_WINDOW_XID (window)); @@ -627,7 +627,6 @@ ungrab_dnd_keys (GtkWidget *widget, #endif /* GDK_WINDOWING_X11 */ - /* * gtk_drag_release_ipc_widget: * @widget: the widget to release