From e5c11f1f68275d294d5b8892366aa424a5a14bca Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Fri, 1 Jul 2022 10:24:29 +0200 Subject: [PATCH] fix(indev): scroll_ throw_vect cannot converge to 0 when vect is negative fixes: #3431 --- src/core/lv_indev.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/core/lv_indev.c b/src/core/lv_indev.c index a7ca08335..ab1265ec8 100644 --- a/src/core/lv_indev.c +++ b/src/core/lv_indev.c @@ -902,11 +902,8 @@ static void indev_proc_press(_lv_indev_proc_t * proc) proc->types.pointer.vect.x = proc->types.pointer.act_point.x - proc->types.pointer.last_point.x; proc->types.pointer.vect.y = proc->types.pointer.act_point.y - proc->types.pointer.last_point.y; - proc->types.pointer.scroll_throw_vect.x = (proc->types.pointer.scroll_throw_vect.x * 4) >> 3; - proc->types.pointer.scroll_throw_vect.y = (proc->types.pointer.scroll_throw_vect.y * 4) >> 3; - - proc->types.pointer.scroll_throw_vect.x += (proc->types.pointer.vect.x * 4) >> 3; - proc->types.pointer.scroll_throw_vect.y += (proc->types.pointer.vect.y * 4) >> 3; + proc->types.pointer.scroll_throw_vect.x = (proc->types.pointer.scroll_throw_vect.x + proc->types.pointer.vect.x) / 2; + proc->types.pointer.scroll_throw_vect.y = (proc->types.pointer.scroll_throw_vect.y + proc->types.pointer.vect.y) / 2; proc->types.pointer.scroll_throw_vect_ori = proc->types.pointer.scroll_throw_vect;