kwin/libinput
Jesse Pullinen 0eba3f3c18 Fix TouchEvent::id() returning -1, fixes a crash
Summary:
Libinput returns -1 when calling libinput_event_touch_get_slot on an event
from a single-touch touchscreen. The returned value is used in
DecorationEventFilter to determine the touch which is acting on it. The value -1
is used to signify that the decoration is not being acted on. Thus when
releasing the touch, it checks whether it was being dragged, and as it thinks
it isn't, it doesn't handle it and the decoration is still being dragged.
Clicking on the decoration then crashes kwin.

Test Plan: Move a window by dragging the decoration with a single-touch touchscreen.

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: graesslin, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D7854
2017-09-19 07:11:40 +03:00
..
connection.cpp Keep all touchpad QActions in the main thread 2017-05-07 16:08:00 +02:00
connection.h Keep all touchpad QActions in the main thread 2017-05-07 16:08:00 +02:00
context.cpp
context.h
device.cpp [libinput] Fix enumeral and non-enumeral type in conditional expression warning 2017-07-29 19:30:59 +02:00
device.h
events.cpp Fix TouchEvent::id() returning -1, fixes a crash 2017-09-19 07:11:40 +03:00
events.h
libinput_logging.cpp
libinput_logging.h