Don't update listener after deactivating implicit pointer grab
After the pointer grab is deactivated, the touch listener record is updated at the end of DeliverTouchEmulatedEvent. However, the touch record is ended when the grab is deactivated, so the update to the listener record is in an array of memory that has been freed. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
82a1ae0af3
commit
210cd12c47
|
@ -1389,8 +1389,10 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
|
|||
|
||||
if (ev->any.type == ET_TouchEnd &&
|
||||
!dev->button->buttonsDown &&
|
||||
dev->deviceGrab.fromPassiveGrab && GrabIsPointerGrab(grab))
|
||||
dev->deviceGrab.fromPassiveGrab && GrabIsPointerGrab(grab)) {
|
||||
(*dev->deviceGrab.DeactivateGrab) (dev);
|
||||
return Success;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Reference in New Issue