-
Peter Hutterer authored
tp_detect_thumb_while_moving() assumes that of the 2 fingers down, at least one must be in TOUCH_UPDATE, otherwise we wouldn't have a speed to analyze for thumb. If a touch starts in HOVERING and exceeds the speed limit, we were previously increasing the 'exceeded count'. This later leads to an assert() in tp_detect_thumb_while_moving() when the second finger comes down because although we have multiple fingers, none of them are in TOUCH_UPDATE. This only happens when fingers 2 and 3 come down in the same event frame, because then we have nfingers_down at 2 (the hovering one doesn't count) but we don't yet have a finger in TOUCH_UPDATE. Fix this twofold, first by now calculating the speed on anything but TOUCH_UPDATE. And second by force-resetting the speed count on TOUCH_BEGIN/TOUCH_END so we definitely cover all the hover transitions. Fixes #150 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
a8e3f4d1