[mutter/wip/barriers: 8/16] core: Handle TouchUpdate with TouchPendingEnd as TouchEnd
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/barriers: 8/16] core: Handle TouchUpdate with TouchPendingEnd as TouchEnd
- Date: Sun, 4 Nov 2012 00:02:30 +0000 (UTC)
commit c8f0a136cc0db1a17599a33a5b94775a40c4d691
Author: Carlos Garnacho <carlosg gnome org>
Date: Fri Sep 2 23:16:15 2011 +0200
core: Handle TouchUpdate with TouchPendingEnd as TouchEnd
The touch sequence is possibly unhandled, but we need a call
to meta_window_end_touch() so such touch sequences are notified
to the server, this would trigger the real TouchEnd event as
the touch is rejected, but should be a no-op the second time
src/core/input-events.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/src/core/input-events.c b/src/core/input-events.c
index 8166dd9..255f6af 100644
--- a/src/core/input-events.c
+++ b/src/core/input-events.c
@@ -93,7 +93,18 @@ meta_input_event_get_type (MetaDisplay *display,
type = ButtonRelease;
break;
case XI_TouchUpdate:
- type = MotionNotify;
+ if (((XIDeviceEvent *) xev)->flags & XITouchPendingEnd)
+ {
+ /* Consider these events like TouchEnd, as we
+ * could still need to call XIAllowTouchEvents()
+ * for this touch sequence so we get the real
+ * TouchEnd event, handling this event type the
+ * second time it arrives should be a NO-OP.
+ */
+ type = ButtonRelease;
+ }
+ else
+ type = MotionNotify;
break;
default:
retval = FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]