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>
This commit is contained in:
qinshijing
2024-03-17 20:19:13 +08:00
committed by GitHub
parent f42be6a4da
commit 7182aa2560

View File

@@ -1113,8 +1113,8 @@ static void indev_proc_press(lv_indev_t * indev)
new_obj_searched = true; new_obj_searched = true;
} }
/*The last object might have scroll throw. Stop it manually*/ /*The scroll object might have scroll throw. Stop it manually*/
if(new_obj_searched && indev->pointer.last_obj) { if(new_obj_searched && indev->pointer.scroll_obj) {
/*Attempt to stop scroll throw animation firstly*/ /*Attempt to stop scroll throw animation firstly*/
if(!indev->scroll_throw_anim || !lv_anim_delete(indev, indev_scroll_throw_anim_cb)) { 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.x = 0;
indev->pointer.scroll_sum.y = 0; indev->pointer.scroll_sum.y = 0;
indev->pointer.scroll_dir = LV_DIR_NONE; indev->pointer.scroll_dir = LV_DIR_NONE;
indev->pointer.scroll_obj = NULL;
indev->pointer.gesture_dir = LV_DIR_NONE; indev->pointer.gesture_dir = LV_DIR_NONE;
indev->pointer.gesture_sent = 0; indev->pointer.gesture_sent = 0;
indev->pointer.gesture_sum.x = 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.x = 0;
indev->pointer.scroll_sum.y = 0; indev->pointer.scroll_sum.y = 0;
indev->pointer.scroll_dir = LV_DIR_NONE; indev->pointer.scroll_dir = LV_DIR_NONE;
indev->pointer.scroll_obj = NULL;
indev->pointer.scroll_throw_vect.x = 0; indev->pointer.scroll_throw_vect.x = 0;
indev->pointer.scroll_throw_vect.y = 0; indev->pointer.scroll_throw_vect.y = 0;
indev->pointer.gesture_sum.x = 0; indev->pointer.gesture_sum.x = 0;