diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2011-12-21 14:45:27 +1000 |
---|---|---|
committer | Chase Douglas <chase.douglas@canonical.com> | 2011-12-21 10:34:13 -0800 |
commit | 8fda5f402798c7eba59865c8903ff2ea84d5874d (patch) | |
tree | 8f8a4fdd19f7ab2aba423f1279b29c336a3060eb | |
parent | 792fb55c054d67b43daceaac0868d914fb4456bd (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.c | 4 |
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, |