[mutter/gnome-3-26] clutter/evdev: Ignore unknown touch points
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/gnome-3-26] clutter/evdev: Ignore unknown touch points
- Date: Fri, 12 Jan 2018 11:03:23 +0000 (UTC)
commit 97f099d8cec1628c42a76beee672661286b74d08
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 f40746a..f9a3a14 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]