From 5d84ac7a9a7080f5fa68352234b8e5a660b34acd Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Mon, 19 Jun 2023 10:35:27 +0200 Subject: [PATCH] fix(indev): fix getting the active object from bottom/sys layer fixes: #4298 --- src/core/lv_indev.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/core/lv_indev.c b/src/core/lv_indev.c index 0582542c4..b998f5a5e 100644 --- a/src/core/lv_indev.c +++ b/src/core/lv_indev.c @@ -1003,16 +1003,20 @@ static void indev_proc_press(lv_indev_t * indev) /*If there is no last object then search*/ if(indev_obj_act == NULL) { - if(indev_obj_act == NULL) { - indev_obj_act = lv_indev_search_obj(lv_disp_get_layer_bottom(disp), &indev->pointer.act_point); - } indev_obj_act = lv_indev_search_obj(lv_disp_get_layer_sys(disp), &indev->pointer.act_point); + if(indev_obj_act == NULL) { indev_obj_act = lv_indev_search_obj(lv_disp_get_layer_top(disp), &indev->pointer.act_point); } + if(indev_obj_act == NULL) { indev_obj_act = lv_indev_search_obj(lv_disp_get_scr_act(disp), &indev->pointer.act_point); } + + if(indev_obj_act == NULL) { + indev_obj_act = lv_indev_search_obj(lv_disp_get_layer_bottom(disp), &indev->pointer.act_point); + } + new_obj_searched = true; } /*If there is last object but it is not scrolled and not protected also search*/