diff --git a/legacy/elementary/src/lib/elm_gengrid.c b/legacy/elementary/src/lib/elm_gengrid.c index 26443ab60f..177d6b52d5 100644 --- a/legacy/elementary/src/lib/elm_gengrid.c +++ b/legacy/elementary/src/lib/elm_gengrid.c @@ -2123,13 +2123,13 @@ _elm_gengrid_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list) (!sd->last_selected_item)) sd->last_selected_item = eina_list_data_get(sd->selected); - if (elm_widget_focus_get(obj)) + if (elm_widget_focus_get(obj) && !sd->mouse_down) { if (sd->last_focused_item) it = sd->last_focused_item; else if (sd->last_selected_item) it = sd->last_selected_item; - else if (!sd->mouse_down) + else { it = elm_gengrid_first_item_get(obj); is_sel = EINA_TRUE; diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index 888c904ce3..bc3f0896bb 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -2876,13 +2876,13 @@ _elm_genlist_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list) (!sd->last_selected_item)) sd->last_selected_item = eina_list_data_get(sd->selected); - if (elm_widget_focus_get(obj)) + if (elm_widget_focus_get(obj) && !sd->mouse_down) { if (sd->last_focused_item) it = sd->last_focused_item; else if (sd->last_selected_item) it = sd->last_selected_item; - else if (!sd->mouse_down) + else { it = elm_genlist_first_item_get(obj); is_sel = EINA_TRUE; diff --git a/legacy/elementary/src/lib/elm_list.c b/legacy/elementary/src/lib/elm_list.c index 6443fef558..06ae8d6f80 100644 --- a/legacy/elementary/src/lib/elm_list.c +++ b/legacy/elementary/src/lib/elm_list.c @@ -1071,13 +1071,13 @@ _elm_list_smart_on_focus(Eo *obj, void *_pd, va_list *list) if (!sd->items) return; - if (elm_widget_focus_get(obj)) + if (elm_widget_focus_get(obj) && !sd->mouse_down) { if (sd->last_focused_item) _elm_list_item_focused((Elm_List_Item *)sd->last_focused_item); else if (sd->last_selected_item) _elm_list_item_focused((Elm_List_Item *)sd->last_selected_item); - else if (!sd->mouse_down) + else elm_list_item_selected_set( eina_list_data_get(sd->items), EINA_TRUE); _elm_widget_focus_highlight_start(obj);