summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2013-02-13 11:26:11 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2013-07-17 14:35:27 +1000
commit636647bc7f9ed10918cbb228f7d448c8cf733667 (patch)
treecbac407562a6f03ac19f4196bb8b412a8cc6bbb7
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 <peter.hutterer@who-t.net> (cherry picked from commit 363b6387da6e669099a2da3861c73a29808295a6)
-rw-r--r--dix/touch.c2
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