From ba530e45120648d01917043125265b20b7f42c20 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 13 Feb 2013 10:49:23 +1000 Subject: [PATCH 06/35] Xi: not having an ownership mask does not mean automatic acceptance If we only have a single touch-grabbing client, setting the client as owner would clean up the touch once the TouchEnd was processed. If the client then calls XIAllowTouches() it will receive a BadValue for the touch ID (since the internal record is already cleaned up). Signed-off-by: Peter Hutterer (cherry picked from commit 9cc45c18ad1511adf3fb163dd4cefbef106edb23) --- Xi/exevents.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xi/exevents.c b/Xi/exevents.c index d39cf89..d9122c9 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -1865,7 +1865,7 @@ DeliverTouchBeginEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, if (has_ownershipmask) TouchSendOwnershipEvent(dev, ti, 0, listener->listener); - if (!has_ownershipmask || listener->type == LISTENER_REGULAR) + if (listener->type == LISTENER_REGULAR) state = LISTENER_HAS_ACCEPTED; else state = LISTENER_IS_OWNER; -- 1.8.2.1