clutter/evdev: Ignore unknown touch points
We might receive touch events for unknown touch points, for example when starting mutter while touching the screen (resulting in no touch-down event ever being received). Avoid crashing when this happens by just dropping these events on the floor. https://bugzilla.gnome.org/show_bug.cgi?id=791371
This commit is contained in:
parent
5f05112b9a
commit
4e3b26d2ed
@ -1459,6 +1459,8 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
|
||||
slot = libinput_event_touch_get_slot (touch_event);
|
||||
time_us = libinput_event_touch_get_time_usec (touch_event);
|
||||
touch_state = clutter_seat_evdev_get_touch (seat, slot);
|
||||
if (!touch_state)
|
||||
break;
|
||||
|
||||
notify_touch_event (device, CLUTTER_TOUCH_END, time_us, slot,
|
||||
touch_state->coords.x, touch_state->coords.y);
|
||||
@ -1497,6 +1499,9 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
|
||||
stage_height);
|
||||
|
||||
touch_state = clutter_seat_evdev_get_touch (seat, slot);
|
||||
if (!touch_state)
|
||||
break;
|
||||
|
||||
touch_state->coords.x = x;
|
||||
touch_state->coords.y = y;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user