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;