Summary: | XServer Crashes on UnmapWindow with PointerGrab and Touch | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Gerhard Muehlbauer <gerhard.m.jhoss> | ||||||
Component: | Server/Input/Core | Assignee: | Xorg Project Team <xorg-team> | ||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||
Severity: | normal | ||||||||
Priority: | medium | CC: | jean-noel.avila | ||||||
Version: | 7.7 (2012.06) | ||||||||
Hardware: | x86 (IA32) | ||||||||
OS: | Linux (All) | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Description
Gerhard Muehlbauer
2016-06-15 13:07:31 UTC
Created attachment 124542 [details] [review] Patch to avoid segmentation fault A QT application that does QWidget::grabGesture() on a window that is shown/hidden by touch events to another button sometimes crashes the XServer in dix/events.c function DeactivatePointerGrab(). See attacked backtrace. My assumption is that the pointer "grab" is no more valid after some calls to touch functions. My patch checks if the pointer in mouse->device.grab is still the same after the touch treatment. If not, a message is printed and the new pointer is loaded. The patch solves the problem for me and sometimes prints out messages that show the object in *grab has been replaced. I don't know ifthe patch is the solution or just a workaround. Created attachment 124543 [details]
Backtace for segmantation fault
I've proposed another solution for this bug: https://gitlab.freedesktop.org/xorg/xserver/merge_requests/61 Fixed in https://gitlab.freedesktop.org/xorg/xserver/commit/35e5a76cc1d02801fadd49d12e60664b02e4bebc *** Bug 105557 has been marked as a duplicate of this bug. *** |
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.