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 Require Qt 5.7 and remove pre-5.7 code 2017-02-07 20:43:19 +01:00
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 [libinput] Change unset of scroll method and acceleration profile 2016-12-06 13:45:54 +01:00
events.cpp Fix TouchEvent::id() returning -1, fixes a crash 2017-09-19 07:11:40 +03:00
events.h Support for relative pointer motion events 2016-10-12 11:26:46 +02:00
libinput_logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
libinput_logging.h