From fc518cd9f59060cc19bb90361767c0f47f0e25eb Mon Sep 17 00:00:00 2001 From: Chase Douglas Date: Mon, 16 Apr 2012 15:31:47 -0700 Subject: [PATCH] End a pointer emulated touch event only on a "real" end event Fake end events are generated by touch acceptance or rejection. These should not end the touch point. Signed-off-by: Chase Douglas Reviewed-by: Peter Hutterer --- Xi/exevents.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Xi/exevents.c b/Xi/exevents.c index 3dd3688e6..823da2a06 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -1856,7 +1856,8 @@ DeliverTouchEndEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev, if (ti->num_listeners > 1) { ev->any.type = ET_TouchUpdate; ev->device_event.flags |= TOUCH_PENDING_END; - ti->pending_finish = TRUE; + if (!(ev->device_event.flags & TOUCH_CLIENT_ID)) + ti->pending_finish = TRUE; } goto out;