From bb689475700840ff1494c7786c5d20e9bf8e47dc Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Mon, 6 Mar 2023 05:45:59 +0100 Subject: [PATCH] fix(indev): fix refocusing with clcik after 'tab' fixes #4034 --- demos/widgets/lv_demo_widgets.c | 1 + src/core/lv_indev.c | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/demos/widgets/lv_demo_widgets.c b/demos/widgets/lv_demo_widgets.c index 8d011b13c..a42efc5c9 100644 --- a/demos/widgets/lv_demo_widgets.c +++ b/demos/widgets/lv_demo_widgets.c @@ -1208,6 +1208,7 @@ static void ta_event_cb(lv_event_t * e) lv_obj_set_height(tv, LV_VER_RES - lv_obj_get_height(kb)); lv_obj_clear_flag(kb, LV_OBJ_FLAG_HIDDEN); lv_obj_scroll_to_view_recursive(ta, LV_ANIM_OFF); + lv_indev_wait_release(lv_event_get_param(e)); } } else if(code == LV_EVENT_DEFOCUSED) { diff --git a/src/core/lv_indev.c b/src/core/lv_indev.c index e5c9fb167..44ec85e0c 100644 --- a/src/core/lv_indev.c +++ b/src/core/lv_indev.c @@ -1239,8 +1239,7 @@ static void indev_proc_reset_query_handler(lv_indev_t * indev) static void indev_click_focus(lv_indev_t * indev) { /*Handle click focus*/ - if(lv_obj_has_flag(indev_obj_act, LV_OBJ_FLAG_CLICK_FOCUSABLE) == false || - indev->pointer.last_pressed == indev_obj_act) { + if(lv_obj_has_flag(indev_obj_act, LV_OBJ_FLAG_CLICK_FOCUSABLE) == false) { return; }