summaryrefslogtreecommitdiff
path: root/Xi/exevents.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2013-04-24 14:46:06 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2013-05-10 14:32:38 +1000
commit2566bdd8bc996cccde77b846819808c6239a89d2 (patch)
tree2e18eb10561ea78488c131b812f92db1e848c834 /Xi/exevents.c
parent5b00fc52270e9cfdfe7ac1838a21defe50fc3d31 (diff)
Xi: check for HAS_ACCEPTED only for grab listeners
If we have one listener left but it's not a grab, it cannot be in LISTENER_HAS_ACCEPTED state. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'Xi/exevents.c')
-rw-r--r--Xi/exevents.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Xi/exevents.c b/Xi/exevents.c
index ae2e5aeb0..a99821f0d 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1919,7 +1919,7 @@ DeliverTouchEndEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev,
rc = DeliverOneTouchEvent(client, dev, ti, grab, win, ev);
if ((ti->num_listeners > 1 ||
- listener->state != LISTENER_HAS_ACCEPTED) &&
+ (ti->num_grabs > 0 && listener->state != LISTENER_HAS_ACCEPTED)) &&
(ev->device_event.flags & (TOUCH_ACCEPT | TOUCH_REJECT)) == 0) {
ev->any.type = ET_TouchUpdate;
ev->device_event.flags |= TOUCH_PENDING_END;