Summary: | Weird behavior when there are active and passive touch grabs at the same time | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Tom Jaeger <ThJaeger> | ||||||
Component: | Server/Input/Core | Assignee: | Peter Hutterer <peter.hutterer> | ||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||
Severity: | normal | ||||||||
Priority: | medium | CC: | peter.hutterer, tjaalton | ||||||
Version: | git | ||||||||
Hardware: | Other | ||||||||
OS: | All | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
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 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.
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.