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. ***