summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChase Douglas <chase.douglas@canonical.com>2012-04-16 15:53:51 -0700
committerPeter Hutterer <peter.hutterer@who-t.net>2012-04-26 13:35:10 +1000
commit8ccc6ad63733c7de6bd64b1b11169836d941455b (patch)
tree1697166cc1b12ddd5324ceeaca3b7c1ef061fb25
parentea3afab228f44d9a41905daeda4c0f9236dbf8e6 (diff)
Don't deactivate implicit pointer grab on fake touch end event
Fake touch end events are generated by touch acceptance and rejection. These should not cause implicit pointer grabs to be deactivated. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit ef64b5ee97099618cf2e2cbbd3e471095695ae24)
-rw-r--r--Xi/exevents.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 50b05fa37..eace62e5e 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1482,6 +1482,7 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
TouchListenerAcceptReject(dev, ti, 0, XIAcceptTouch);
if (ev->any.type == ET_TouchEnd &&
+ !(ev->device_event.flags & TOUCH_CLIENT_ID) &&
!dev->button->buttonsDown &&
dev->deviceGrab.fromPassiveGrab && GrabIsPointerGrab(grab)) {
(*dev->deviceGrab.DeactivateGrab) (dev);