diff options
author | Chase Douglas <chase.douglas@canonical.com> | 2012-04-16 15:31:47 -0700 |
---|---|---|
committer | Chase Douglas <chase.douglas@ubuntu.com> | 2012-04-18 13:58:40 -0700 |
commit | fc518cd9f59060cc19bb90361767c0f47f0e25eb (patch) | |
tree | 1c62d0ba95f97e453b43f0e75d81fcc28f6a747c /Xi | |
parent | 80d7d1ec6a9d61aa96e7d019dc1bee29d90cea34 (diff) |
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 <chase.douglas@canonical.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'Xi')
-rw-r--r-- | Xi/exevents.c | 3 |
1 files changed, 2 insertions, 1 deletions
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; |