From: Peter Hutterer Date: Thu, 19 Jul 2018 04:52:44 +0000 (+1000) Subject: touchpad: don't NONE or HOVERING touches towards the touch X-Git-Tag: 1.11.901~43 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=23d5f2a59013c3ec350285fbd5039f3414f00814;p=platform%2Fupstream%2Flibinput.git touchpad: don't NONE or HOVERING touches towards the touch To trigger this, we'd need 1, 2, 3 fingers down, release fingers 1 and 2 but keep 3 down. Then put finger 1 down again. Touches 1 and 3 are alive now, touch 2 is in state NONE. During the thumb detection we took the first touch not in BEGIN and assigned it to "first" - this would now be the second touch in state NONE. Real effect is relatively minimal since we only use the coordinates here. Fixes https://gitlab.freedesktop.org/libinput/libinput/issues/89 Signed-off-by: Peter Hutterer --- diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index 5554c0b..25d0f23 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -1472,6 +1472,10 @@ tp_detect_thumb_while_moving(struct tp_dispatch *tp) struct phys_coords mm; tp_for_each_touch(tp, t) { + if (t->state == TOUCH_NONE || + t->state == TOUCH_HOVERING) + continue; + if (t->state != TOUCH_BEGIN) first = t; else