summaryrefslogtreecommitdiff
path: root/src/core/display.c
diff options
context:
space:
mode:
authorDenis Gorodnichev <[email protected]>2014-10-27 13:26:39 +0100
committerinfirit <[email protected]>2014-10-27 13:26:39 +0100
commite2f29ace20f74e1e62e80ba13d8d6bbe36d65212 (patch)
tree9ab3a153ca960f9e4820f2972f281bb53b95256a /src/core/display.c
parentaaa378feaff4331c8c78afb390f99d867ddf9b88 (diff)
downloadmarco-e2f29ace20f74e1e62e80ba13d8d6bbe36d65212.tar.bz2
marco-e2f29ace20f74e1e62e80ba13d8d6bbe36d65212.tar.xz
Fixup Gtk3 Gdk device handling
Diffstat (limited to 'src/core/display.c')
-rw-r--r--src/core/display.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/core/display.c b/src/core/display.c
index 76408930..68569f3a 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -82,9 +82,10 @@
#include <X11/extensions/Xdamage.h>
#include <X11/extensions/Xfixes.h>
#include <gtk/gtk.h>
- #include <gdk/gdkx.h>
#endif
+#include <gdk/gdkx.h>
+
#include <string.h>
#define GRAB_OP_IS_WINDOW_SWITCH(g) \
@@ -1469,15 +1470,17 @@ static gboolean maybe_send_event_to_gtk(MetaDisplay* display, XEvent* xevent)
* (client-side) subwindow for individual menu items.
*/
- if (gdk_display_pointer_is_grabbed(gdk_display))
- {
- return FALSE;
- }
-
#if GTK_CHECK_VERSION (3, 0, 0)
GdkDeviceManager *device_manager = gdk_display_get_device_manager (gdk_display);
GdkDevice *device = gdk_device_manager_get_client_pointer (device_manager);
+
+ if (gdk_display_device_is_grabbed(gdk_display, device))
+#else
+ if (gdk_display_pointer_is_grabbed(gdk_display))
#endif
+ {
+ return FALSE;
+ }
switch (xevent->type)
{