Created attachment 68221 [details] test case Hi Peter, This is probably not big deal in practice, but since I noticed it I might as well report it. The issue is that if there is an active and a passive touch grab at the same time, then there is a TouchEnd event reported immediately after the initial TouchBegin. Test case is attached: $ gcc touchgrab.c -lXi -Wall -std=c99 -o touchgrab && ./touchgrab 2 accept TouchBegin: 15 -> 2 TouchEnd: 15 -> 2 TouchBegin: 15 -> 2 TouchUpdate: 15 -> 2 TouchEnd: 15 -> 2 TouchEnd: 15 -> 2 This is the result of a simple two-finger tap gesture.
confirmed. Thanks for the test case, that makes my life a lot easier.
Created attachment 68663 [details] [review] 0001-Xi-don-t-deliver-TouchEnd-to-a-client-waiting-for-To.patch preliminary patch. this appears to fix this issue, though I hope it doesn't have any side-effects
Thanks. I can confirm that it fixes the reported issue. I'll let you know if I notice any side effects.
I forgot: I've copied your test case to the XIT suit. Hope that's ok: http://cgit.freedesktop.org/~whot/xorg-integration-tests/commit/?h=devel&id=bc0024dbbb9b283626c1b167c086156482701f3e
http://patchwork.freedesktop.org/patch/12260/
commit 676447190190d8546165e21be242cf16dd69f5ae Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Wed Oct 17 14:13:29 2012 +1000 Xi: don't deliver TouchEnd to a client waiting for TouchBegin (#55738)
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.