diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index 10c9162b28..fd8048263b 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -5680,6 +5680,12 @@ _item_select(Elm_Gen_Item *it) } evas_object_ref(obj); + + elm_object_item_focus_set(eo_it, EINA_TRUE); + _elm_genlist_item_content_focus_set(it, ELM_FOCUS_PREVIOUS); + sd->last_selected_item = eo_it; + _item_highlight(it); + it->walking++; if (it->func.func) it->func.func((void *)it->func.data, WIDGET(it), eo_it); // delete item if it's requested deletion in the above callbacks. @@ -5689,12 +5695,6 @@ _item_select(Elm_Gen_Item *it) if ((it->base)->on_deletion) goto item_deleted; it->walking--; - elm_object_item_focus_set(eo_it, EINA_TRUE); - _elm_genlist_item_content_focus_set(it, ELM_FOCUS_PREVIOUS); - - sd->last_selected_item = eo_it; - _item_highlight(it); - if (!(sd->focus_on_selection_enabled || _elm_config->item_select_on_focus_disable)) { Evas_Object *swallow_obj;