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:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user