xorg-x11-server/0007-dix-don-t-prepend-an-activated-passive-grab-to-the-l.patch

34 lines
1.2 KiB
Diff

From ef9ad64cfdee85ff7e3e47cb49fc7c3c1b2b2ccc Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed, 13 Feb 2013 11:26:11 +1000
Subject: [PATCH 07/35] 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)
---
dix/touch.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dix/touch.c b/dix/touch.c
index 3027bbb..5d6e2a7 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
--
1.8.2.1