summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorDaniel Juyung Seo <seojuyung2@gmail.com>2012-04-20 10:50:42 +0000
committerDaniel Juyung Seo <seojuyung2@gmail.com>2012-04-20 10:50:42 +0000
commit43932e7273a3c651e4e8ddda1a26346a7878e973 (patch)
tree133b0c80f563f7baa6173e0b5c99d1da94e76a7f /src/lib
parent21da0e181567211b8eaa3904f120fdda9639dfe6 (diff)
elm genlist: Fixed genlist crash issue when huge amount of items are expanded/contracted in a short time.
SVN revision: 70358
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/elm_genlist.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 4505d9703..be96aff28 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -872,7 +872,15 @@ _item_del(Elm_Gen_Item *it)
872 if (!wd->anchor_item) 872 if (!wd->anchor_item)
873 wd->anchor_item = ELM_GEN_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->prev); 873 wd->anchor_item = ELM_GEN_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->prev);
874 } 874 }
875 if (wd->expanded_item == it) wd->expanded_item = NULL; 875 if (wd->expanded_item == it)
876 {
877 wd->expanded_item = NULL;
878 if (wd->tree_effect_animator)
879 {
880 ecore_animator_del(wd->tree_effect_animator);
881 wd->tree_effect_animator = NULL;
882 }
883 }
876 if (wd->expanded_next_item == it) wd->expanded_next_item = NULL; 884 if (wd->expanded_next_item == it) wd->expanded_next_item = NULL;
877 if (it->parent) 885 if (it->parent)
878 it->parent->item->items = eina_list_remove(it->parent->item->items, it); 886 it->parent->item->items = eina_list_remove(it->parent->item->items, it);