raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=a420f494dc2bb420f0c6851002f3b8e704abd330
commit a420f494dc2bb420f0c6851002f3b8e704abd330 Author: chinmaya <chinmaya@chinmaya-VirtualBox.(none)> Date: Mon May 26 15:45:54 2014 +0900 Genlist: Focus does not move, if it is set on item content objects. Summary: If focus is set on item content object, it's treated as a different object which results the focus deadlock. So, every time whenever focus sets on item content object, we need to unset and set the focus on genlist object. Thanks to Seoz for the idea. Test Plan: elementary_test -to "genlist focus" Reviewers: seoz, SanghyeonLee, eagleeye CC: seoz Differential Revision: https://phab.enlightenment.org/D891 --- src/lib/elm_genlist.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index 640b618..67f3749 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c @@ -5507,6 +5507,21 @@ _item_select(Elm_Gen_Item *it) else sd->last_selected_item = (Elm_Object_Item *)it; } + + if (!(sd->focus_on_selection_enabled || _elm_config->item_select_on_focus_disable)) + { + Evas_Object *swallow_obj; + Eina_List *l; + EINA_LIST_FOREACH(it->content_objs, l, swallow_obj) + { + if (elm_object_focus_get(swallow_obj)) + { + elm_object_focus_set( obj, EINA_FALSE); + elm_object_focus_set( obj, EINA_TRUE); + break; + } + } + } evas_object_unref(obj); } --