rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=8e033e583ab4e6de80935ed6fef109d15bf2de73
commit 8e033e583ab4e6de80935ed6fef109d15bf2de73 Author: Andrii Kroitor <an.kroi...@samsung.com> Date: Wed Jul 13 14:16:53 2016 +0300 group_navigator: fix selection after state_del --- src/bin/ui/workspace/group_navigator.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index e80f0ce..e15f361 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -2048,7 +2048,7 @@ group_navigator_part_state_del(Evas_Object *obj, Part *part __UNUSED__, State *s Part_List *pl = evas_object_data_get(obj, GROUP_NAVIGATOR_DATA); Elm_Object_Item *glit; Elm_Object_Item *part_item; - Elm_Object_Item *default_glit; + Elm_Object_Item *to_select; const Eina_List *subitems; const Eina_List *l; @@ -2059,8 +2059,6 @@ group_navigator_part_state_del(Evas_Object *obj, Part *part __UNUSED__, State *s elm_genlist_item_expanded_set(part_item, true); subitems = elm_genlist_item_subitems_get(part_item); - /* "default 0.0" is always first in states list */ - default_glit = eina_list_data_get(subitems); /* find state's genlist item */ EINA_LIST_FOREACH(subitems, l, glit) { @@ -2069,7 +2067,15 @@ group_navigator_part_state_del(Evas_Object *obj, Part *part __UNUSED__, State *s } assert(glit != NULL); - elm_genlist_item_selected_set(default_glit, true); + to_select = elm_genlist_item_next_get(glit); + if ((to_select == NULL) || + ((elm_genlist_item_item_class_get(to_select) != pl->itc_state) && + (elm_genlist_item_item_class_get(to_select) != pl->itc_state_selected))) + to_select = elm_genlist_item_prev_get(glit); + + /* there should be at least default state */ + assert(to_select != NULL); + elm_genlist_item_selected_set(to_select, true); elm_object_item_del(glit); } --