aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqinshijing <51692568+qinshijing@users.noreply.github.com>2024-03-17 20:19:13 +0800
committerGitHub <noreply@github.com>2024-03-17 20:19:13 +0800
commit7182aa2560e498c087982a63711090ac354d88c6 (patch)
tree87efa3b88b5cb9d13448c1a7fcbc9a5ccf9dab14
parentf42be6a4da61f50f81b9226a8ef54a1d9590f3d2 (diff)
downloadlvgl-7182aa2560e498c087982a63711090ac354d88c6.tar.gz
lvgl-7182aa2560e498c087982a63711090ac354d88c6.zip
fix(indev): Fix scroll obj cannot be cleared when waiting until release (#5833)
Signed-off-by: qinshijing <qinshijing@xiaomi.com> Co-authored-by: qinshijing <qinshijing@xiaomi.com>
-rw-r--r--src/indev/lv_indev.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/indev/lv_indev.c b/src/indev/lv_indev.c
index 445b67532..3169dd0ec 100644
--- a/src/indev/lv_indev.c
+++ b/src/indev/lv_indev.c
@@ -1113,8 +1113,8 @@ static void indev_proc_press(lv_indev_t * indev)
new_obj_searched = true;
}
- /*The last object might have scroll throw. Stop it manually*/
- if(new_obj_searched && indev->pointer.last_obj) {
+ /*The scroll object might have scroll throw. Stop it manually*/
+ if(new_obj_searched && indev->pointer.scroll_obj) {
/*Attempt to stop scroll throw animation firstly*/
if(!indev->scroll_throw_anim || !lv_anim_delete(indev, indev_scroll_throw_anim_cb)) {
@@ -1155,6 +1155,7 @@ static void indev_proc_press(lv_indev_t * indev)
indev->pointer.scroll_sum.x = 0;
indev->pointer.scroll_sum.y = 0;
indev->pointer.scroll_dir = LV_DIR_NONE;
+ indev->pointer.scroll_obj = NULL;
indev->pointer.gesture_dir = LV_DIR_NONE;
indev->pointer.gesture_sent = 0;
indev->pointer.gesture_sum.x = 0;
@@ -1347,6 +1348,7 @@ static void indev_proc_reset_query_handler(lv_indev_t * indev)
indev->pointer.scroll_sum.x = 0;
indev->pointer.scroll_sum.y = 0;
indev->pointer.scroll_dir = LV_DIR_NONE;
+ indev->pointer.scroll_obj = NULL;
indev->pointer.scroll_throw_vect.x = 0;
indev->pointer.scroll_throw_vect.y = 0;
indev->pointer.gesture_sum.x = 0;