fixes: #3248
This commit is contained in:
Gabor Kiss-Vamosi
2022-04-04 13:27:51 +02:00
parent b171f7dde2
commit b7b22c190c
+8 -6
View File
@@ -373,12 +373,6 @@ static void focus_next_core(lv_group_t * group, void * (*begin)(const lv_ll_t *)
bool can_move = true;
bool can_begin = true;
if(group->obj_focus) {
lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_DEFOCUSED, get_indev(group));
if(res != LV_RES_OK) return;
lv_obj_invalidate(*group->obj_focus);
}
for(;;) {
if(obj_next == NULL) {
if(group->wrap || obj_sentinel == NULL) {
@@ -424,6 +418,14 @@ static void focus_next_core(lv_group_t * group, void * (*begin)(const lv_ll_t *)
break;
}
if(obj_next == group->obj_focus) return; /*There's only one visible object and it's already focused*/
if(group->obj_focus) {
lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_DEFOCUSED, get_indev(group));
if(res != LV_RES_OK) return;
lv_obj_invalidate(*group->obj_focus);
}
group->obj_focus = obj_next;
lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_FOCUSED, get_indev(group));