[mutter] clutter/evdev: Ignore unknown touch points
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] clutter/evdev: Ignore unknown touch points
- Date: Fri, 12 Jan 2018 11:00:17 +0000 (UTC)
commit 4e3b26d2ed2c51acac35a115946f6f3aa79e3f3e
Author: Jonas Ådahl <jadahl gmail com>
Date: Mon Dec 11 18:22:21 2017 +0800
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
.../clutter/evdev/clutter-device-manager-evdev.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/clutter/clutter/evdev/clutter-device-manager-evdev.c
b/clutter/clutter/evdev/clutter-device-manager-evdev.c
index 44e3ddd..d00c771 100644
--- a/clutter/clutter/evdev/clutter-device-manager-evdev.c
+++ b/clutter/clutter/evdev/clutter-device-manager-evdev.c
@@ -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;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]