davemds pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=38aac7342b16814ebf22819ded290d86d8baa204
commit 38aac7342b16814ebf22819ded290d86d8baa204 Author: Dave Andreoli <[email protected]> Date: Thu Aug 27 21:37:50 2015 +0200 Genlist: reset item tree expanded state when putting item in cache Item expandend state need to be resetted (contracted) when the item goes in the items cache, otherwise when the item will be reused it will have unwanted state (expanded). Quite visible in the "Genlist Tree and Decorate All Mode" test @fix --- src/lib/elm_genlist.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index 6e1563e..49afbd8 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c @@ -1522,7 +1522,12 @@ _item_cache_add(Elm_Gen_Item *it) itc->spacer = it->spacer; itc->base_view = VIEW(it); itc->item_style = eina_stringshare_add(it->itc->item_style); - if (it->item->type & ELM_GENLIST_ITEM_TREE) itc->tree = 1; + if (it->item->type & ELM_GENLIST_ITEM_TREE) + { + itc->tree = 1; + if (it->item->expanded) + edje_object_signal_emit(itc->base_view, SIGNAL_CONTRACTED, "elm"); + } if (it->selected) edje_object_signal_emit(itc->base_view, SIGNAL_UNSELECTED, "elm"); --
