summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2011-12-21 14:45:27 +1000
committerChase Douglas <chase.douglas@canonical.com>2011-12-21 10:34:13 -0800
commit8fda5f402798c7eba59865c8903ff2ea84d5874d (patch)
tree8f8a4fdd19f7ab2aba423f1279b29c336a3060eb
parent792fb55c054d67b43daceaac0868d914fb4456bd (diff)
Xi: only activate the device grab if we don't already have onemultitouch-rebase
If the device is already grabbed, don't activate the passive grab, it screws with our event masks. Just deliver to the grabbing client instead. Reported-by: Carlos Garnacho <carlosg@gnome.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-rw-r--r--Xi/exevents.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 084969097..db49e31b8 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1385,8 +1385,8 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent
if (grab)
{
/* this side-steps the usual activation mechansims, but... */
- if (ev->any.type == ET_TouchBegin)
- ActivatePassiveGrab(dev, grab, ptrev, ev); /* also delivers the event */
+ if (ev->any.type == ET_TouchBegin && !dev->deviceGrab.grab)
+ ActivatePassiveGrab(dev, grab, ptrev, ev); /* also delivers the event */
else {
int deliveries = 0;
/* 'grab' is the passive grab, but if the grab isn't active,