summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Expósito <jose.exposito89@gmail.com>2021-10-07 08:34:43 +0200
committerJosé Expósito <jose.exposito89@gmail.com>2021-10-07 08:34:43 +0200
commitcf929e98351662243b64b41cdb7c9ce4bb7455d8 (patch)
tree7d0b2fe5c2c6351fa1d562643676b62d3bf6b8dc
parent89cd0f990e3bee9906754d6ca8484ed5aa392249 (diff)
downloadlibinput-cf929e98351662243b64b41cdb7c9ce4bb7455d8.tar.gz
gestures: avoid processing the last hold and motion event twice
During the transition from GESTURE_STATE_HOLD_AND_MOTION to GESTURE_STATE_POINTER_MOTION the last pointer motion event was processed twice. Fix #680 Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-rw-r--r--src/evdev-mt-touchpad-gestures.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/evdev-mt-touchpad-gestures.c b/src/evdev-mt-touchpad-gestures.c
index aa949ae1..a9f4644c 100644
--- a/src/evdev-mt-touchpad-gestures.c
+++ b/src/evdev-mt-touchpad-gestures.c
@@ -1256,12 +1256,12 @@ tp_gesture_post_gesture(struct tp_dispatch *tp, uint64_t time,
if (tp->gesture.state == GESTURE_STATE_HOLD)
tp_gesture_handle_state_hold(tp, time, ignore_motion);
- if (tp->gesture.state == GESTURE_STATE_HOLD_AND_MOTION)
- tp_gesture_handle_state_hold_and_pointer_motion(tp, time);
-
if (tp->gesture.state == GESTURE_STATE_POINTER_MOTION)
tp_gesture_handle_state_pointer_motion(tp, time);
+ if (tp->gesture.state == GESTURE_STATE_HOLD_AND_MOTION)
+ tp_gesture_handle_state_hold_and_pointer_motion(tp, time);
+
if (tp->gesture.state == GESTURE_STATE_SCROLL)
tp_gesture_handle_state_scroll(tp, time);