From 81ee0632c9dafdb2d90f2986c3e70636ad529be6 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 3 Oct 2012 09:37:37 +0200 Subject: [PATCH] gesture-grabber: Ignore events not meant for the root window The passive touch grab is set on the root window, so if touch events get to a different window it's best to leave those for GTK+ to handle. Signed-off-by: Carlos Garnacho Acked-by: Simon Schampijer --- src/sugar3/sugar-gesture-grabber.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sugar3/sugar-gesture-grabber.c b/src/sugar3/sugar-gesture-grabber.c index 63673a49..022ee5bc 100644 --- a/src/sugar3/sugar-gesture-grabber.c +++ b/src/sugar3/sugar-gesture-grabber.c @@ -256,6 +256,7 @@ filter_function (GdkXEvent *xevent, SugarGestureGrabber *grabber; SugarGestureGrabberPriv *priv; gboolean handled = FALSE; + Window event_window; GdkDevice *device; XIDeviceEvent *ev; GdkDisplay *display; @@ -285,6 +286,9 @@ filter_function (GdkXEvent *xevent, return GDK_FILTER_CONTINUE; } + if (ev->event != gdk_x11_window_get_xid (priv->root_window)) + return GDK_FILTER_CONTINUE; + event->touch.window = g_object_ref (priv->root_window); event->touch.time = ev->time; event->touch.x = ev->event_x;