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>
(cherry picked from commit 2566bdd8bc)
This commit is contained in:
Peter Hutterer 2013-04-24 14:46:06 +10:00
parent f3d63710d5
commit ef0fff102d

View file

@ -1917,7 +1917,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;