touchpad: Stop scrolling on a button click / tap
authorHans de Goede <hdegoede@redhat.com>
Fri, 23 May 2014 14:06:25 +0000 (16:06 +0200)
committerPeter Hutterer <peter.hutterer@who-t.net>
Tue, 27 May 2014 06:35:03 +0000 (16:35 +1000)
On a button click / tap the scrolling event handler no longer gets called,
ensure that any in progress scrolling is stopped.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
src/evdev-mt-touchpad.c

index ed668ee3aaebdac37b538daf4efe69308e570fd5..f28cd137451d6773f7e236a64856bbbec5591419 100644 (file)
@@ -549,11 +549,15 @@ tp_post_events(struct tp_dispatch *tp, uint64_t time)
        struct tp_touch *t = tp_current_touch(tp);
        double dx, dy;
 
-       if (tp_post_button_events(tp, time) != 0)
+       if (tp_post_button_events(tp, time) != 0) {
+               tp_stop_scroll_events(tp, time);
                return;
+       }
 
-       if (tp_tap_handle_state(tp, time) != 0)
+       if (tp_tap_handle_state(tp, time) != 0) {
+               tp_stop_scroll_events(tp, time);
                return;
+       }
 
        if (tp_post_scroll_events(tp, time) != 0)
                return;