clutter/input-pointer-a11y: Fix dwell timeout start after moving pointer

Sometimes the dwell timeout doesn't start again after quickly moving the
pointer. That happens if `should_stop_dwell` returns TRUE for the last
motion event we receive: It will stop the current timeout, but not start
a new one until we receive another event where the moved distance is
smaller than the threshold.

To fix this, always call `should_start_dwell` and `start_dwell_timeout`
instead of using an else-block, this makes sure we start a new dwell
timeout still during the same motion event that stopped the old one.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/746
This commit is contained in:
Jonas Dreßler 2019-08-22 11:40:46 +02:00 committed by Olivier Fourdan
parent 47c1558287
commit 9b3b5badfb

View File

@ -599,7 +599,8 @@ _clutter_input_pointer_a11y_on_motion_event (ClutterInputDevice *device,
{
if (should_stop_dwell (device))
stop_dwell_timeout (device);
else if (should_start_dwell (device))
if (should_start_dwell (device))
start_dwell_timeout (device);
}