[PATCH 02/10] End a pointer emulated touch event only on a "real" end event

Chase Douglas chase.douglas at canonical.com
Tue Apr 17 16:33:21 PDT 2012


Fake end events are generated by touch acceptance or rejection. These
should not end the touch point.

Signed-off-by: Chase Douglas <chase.douglas at canonical.com>
---
 Xi/exevents.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/Xi/exevents.c b/Xi/exevents.c
index 3dd3688..823da2a 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;
-- 
1.7.9.1



More information about the xorg-devel mailing list