From a78f99241fe31fd99b4f4387b8768d253a785a1a Mon Sep 17 00:00:00 2001 From: Daniel Juyung Seo Date: Thu, 26 Jul 2012 05:50:21 +0000 Subject: [PATCH] elm genlist: Fixed garbage item issue in decorate all mode. This fixes "elm - genlist decorate all mode on and scroll - garbage items left around." Note: Do not manipulate swallowed items. Unswallow it first then manipulate it. SVN revision: 74412 --- legacy/elementary/src/lib/elm_genlist.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index 5dfaf6e5a6..5f98c65071 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -4325,6 +4325,10 @@ _item_unrealize_cb(Elm_Gen_Item *it) EINA_LIST_FREE (it->item->flip_content_objs, content) evas_object_del(content); + // unswallow VIEW(it) first then manipulate VIEW(it) + _decorate_item_unrealize(it); + if (GL_IT(it)->wsd->decorate_all_mode) _decorate_all_item_unrealize(it); + if (it->item->nocache_once || it->item->nocache) { evas_object_del(VIEW(it)); @@ -4345,11 +4349,9 @@ _item_unrealize_cb(Elm_Gen_Item *it) _item_cache_add(it); } - _decorate_item_unrealize(it); it->states = NULL; it->realized = EINA_FALSE; it->want_unrealize = EINA_FALSE; - if (GL_IT(it)->wsd->decorate_all_mode) _decorate_all_item_unrealize(it); } static Eina_Bool