projects
/
platform
/
upstream
/
elementary.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0dcdf33
)
genlist : clear item cache when current item class need to be freed
author
SangHyeon Lee
<sh10233.lee@samsung.com>
Wed, 23 Nov 2016 12:14:01 +0000
(21:14 +0900)
committer
Taehyub Kim
<taehyub.kim@samsung.com>
Tue, 29 Nov 2016 12:32:35 +0000
(21:32 +0900)
Change-Id: I92b361ae0e21c9ef0eb03f106aaa9fc953fab2e4
src/mobile_lib/elm_genlist.c
patch
|
blob
|
history
diff --git
a/src/mobile_lib/elm_genlist.c
b/src/mobile_lib/elm_genlist.c
index d44b69a7121bbb79d9dd5841240bd39086a7dfa3..7710eb2eb672ae62253a6e0bb4f3462c8efeeeca 100644
(file)
--- a/
src/mobile_lib/elm_genlist.c
+++ b/
src/mobile_lib/elm_genlist.c
@@
-6012,6
+6012,17
@@
end:
if (it->itc->func.del)
it->itc->func.del((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it));
+ if (it->itc->refcount <= 1)
+ {
+ Eina_Inlist *l;
+ Item_Cache *ic;
+ EINA_INLIST_FOREACH_SAFE(sd->item_cache, l, ic)
+ {
+ if (it->itc == ic->item_class)
+ _item_cache_free(sd, ic);
+ }
+ }
+
elm_genlist_item_class_unref((Elm_Genlist_Item_Class *)it->itc);
free(GL_IT(it));
GL_IT(it) = NULL;