_elm_genlist_item_elm_widget_item_focus_set(Eo *eo_it, Elm_Gen_Item *it, Eina_Bool focused)
{
Evas_Object *obj = WIDGET(it);
+ Evas_Object *fobj;
ELM_GENLIST_DATA_GET(obj, sd);
if (focused)
if (!elm_widget_focus_get(obj))
return;
+ fobj = elm_object_focused_object_get(obj);
+ if (fobj && (fobj != obj))
+ {
+ Evas_Object *content;
+ Eina_List *l;
+ EINA_LIST_FOREACH(it->contents, l, content)
+ {
+ if (elm_object_focused_object_get(content))
+ {
+ elm_object_focus_set(content, EINA_FALSE);
+ break;
+ }
+ }
+ }
+
if (eo_it != sd->focused_item)
{
if (sd->focused_item)
if (!elm_widget_focus_get(obj))
return;
+ if (sd->focused_content)
+ {
+ elm_object_focus_set(sd->focused_content, EINA_FALSE);
+ sd->focused_content = NULL;
+ }
+
if (it != sd->focused_item)
{
if (sd->focused_item)