if (elm_widget_focus_get(obj))
{
- 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
- _elm_list_item_focused((Elm_List_Item *)eina_list_data_get(sd->items));
+ if (!sd->highlighted_item)
+ {
+ 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
+ _elm_list_item_focused((Elm_List_Item *)eina_list_data_get(sd->items));
+ }
_elm_widget_focus_highlight_start(obj);
}
else
if ((select_raise) && (!strcmp(select_raise, "on")))
evas_object_raise(VIEW(it));
it->highlighted = EINA_TRUE;
-
+ sd->highlighted_item = it;
_elm_list_unwalk(obj, sd);
evas_object_unref(obj);
}
}
it->highlighted = EINA_FALSE;
+ sd->highlighted_item = NULL;
_elm_list_unwalk(obj, sd);
evas_object_unref(obj);
}