diff options
authorPeter Hutterer <>2013-02-13 11:26:11 +1000
committerPeter Hutterer <>2013-07-17 14:35:27 +1000
commit636647bc7f9ed10918cbb228f7d448c8cf733667 (patch)
parent87e027726f2d9223ce2fef2e4d26c18ae680a05e (diff)
dix: don't prepend an activated passive grab to the listeners
If the device is currently grabbed as the result of a passive grab activating, do not prepend that grab to the listeners (unlike active grabs). Otherwise, a client with a passive pointer grab will prevent touch grabs from activating higher up in the window stack. Signed-off-by: Peter Hutterer <> (cherry picked from commit 363b6387da6e669099a2da3861c73a29808295a6)
1 files changed, 1 insertions, 1 deletions
diff --git a/dix/touch.c b/dix/touch.c
index 3027bbbf2..5d6e2a796 100644
--- a/dix/touch.c
+++ b/dix/touch.c
@@ -874,7 +874,7 @@ TouchSetupListeners(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev)
SpritePtr sprite = &ti->sprite;
WindowPtr win;
- if (dev->deviceGrab.grab)
+ if (dev->deviceGrab.grab && !dev->deviceGrab.fromPassiveGrab)
TouchAddActiveGrabListener(dev, ti, ev, dev->deviceGrab.grab);
/* We set up an active touch listener for existing touches, but not any