38 lines
1.1 KiB
Diff
38 lines
1.1 KiB
Diff
|
From 676447190190d8546165e21be242cf16dd69f5ae Mon Sep 17 00:00:00 2001
|
||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||
|
Date: Wed, 17 Oct 2012 14:13:29 +1000
|
||
|
Subject: [PATCH] Xi: don't deliver TouchEnd to a client waiting for
|
||
|
TouchBegin (#55738)
|
||
|
|
||
|
If a client is still waiting for the TouchBegin, don't deliver a TouchEnd
|
||
|
event.
|
||
|
|
||
|
X.Org Bug 55738 <http://bugs.freedesktop.org/show_bug.cgi?id=55738>
|
||
|
|
||
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||
|
Tested-by: Thomas Jaeger <thjaeger@gmail.com>
|
||
|
Reviewed-by: Keith Packard <keithp@keithp.com>
|
||
|
---
|
||
|
Xi/exevents.c | 5 +++++
|
||
|
1 file changed, 5 insertions(+)
|
||
|
|
||
|
diff --git a/Xi/exevents.c b/Xi/exevents.c
|
||
|
index 6ed4991..4cbeb37 100644
|
||
|
--- a/Xi/exevents.c
|
||
|
+++ b/Xi/exevents.c
|
||
|
@@ -1862,6 +1862,11 @@ DeliverTouchEndEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev,
|
||
|
goto out;
|
||
|
}
|
||
|
|
||
|
+ if (listener->state == LISTENER_AWAITING_BEGIN) {
|
||
|
+ listener->state = LISTENER_HAS_END;
|
||
|
+ goto out;
|
||
|
+ }
|
||
|
+
|
||
|
/* Event in response to reject */
|
||
|
if (ev->device_event.flags & TOUCH_REJECT) {
|
||
|
if (listener->state != LISTENER_HAS_END)
|
||
|
--
|
||
|
1.7.11.7
|
||
|
|