summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2012-04-25 09:31:11 +0000
committerCarsten Haitzler <raster@rasterman.com>2012-04-25 09:31:11 +0000
commitadd40837fed3311befa76b7a6c1776d1f3024fb6 (patch)
tree28d24c5c22c799f7376d63d4281445dde20be79f
parent97950be68de0f19ebe6e5f1de902166f2924a902 (diff)
valgrind bitches in store -> fix!
SVN revision: 70462
-rw-r--r--src/lib/elm_store.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/lib/elm_store.c b/src/lib/elm_store.c
index a296f368c..92303cd59 100644
--- a/src/lib/elm_store.c
+++ b/src/lib/elm_store.c
@@ -80,7 +80,7 @@ static Elm_Genlist_Item_Class _store_item_class;
80static void 80static void
81_store_cache_trim(Elm_Store *st) 81_store_cache_trim(Elm_Store *st)
82{ 82{
83 while ((st->realized ) && 83 while ((st->realized) &&
84 (((int)eina_list_count(st->realized) - st->realized_count) 84 (((int)eina_list_count(st->realized) - st->realized_count)
85 > st->cache_max)) 85 > st->cache_max))
86 { 86 {
@@ -122,11 +122,15 @@ _store_genlist_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__,
122 ecore_thread_cancel(st->list_th); 122 ecore_thread_cancel(st->list_th);
123 st->list_th = NULL; 123 st->list_th = NULL;
124 } 124 }
125 eina_list_free(st->realized); 125 st->realized = eina_list_free(st->realized);
126 while (st->items) 126 while (st->items)
127 { 127 {
128 Elm_Store_Item *sti = (Elm_Store_Item *)st->items; 128 Elm_Store_Item *sti = (Elm_Store_Item *)st->items;
129 if (sti->eval_job) ecore_job_del(sti->eval_job); 129 if (sti->eval_job)
130 {
131 ecore_job_del(sti->eval_job);
132 sti->eval_job = NULL;
133 }
130 if (sti->fetch_th) 134 if (sti->fetch_th)
131 { 135 {
132 ecore_thread_cancel(sti->fetch_th); 136 ecore_thread_cancel(sti->fetch_th);
@@ -547,12 +551,16 @@ elm_store_free(Elm_Store *st)
547 ecore_thread_cancel(st->list_th); 551 ecore_thread_cancel(st->list_th);
548 st->list_th = NULL; 552 st->list_th = NULL;
549 } 553 }
550 eina_list_free(st->realized); 554 st->realized = eina_list_free(st->realized);
551 item_free = st->item.free; 555 item_free = st->item.free;
552 while (st->items) 556 while (st->items)
553 { 557 {
554 Elm_Store_Item *sti = (Elm_Store_Item *)st->items; 558 Elm_Store_Item *sti = (Elm_Store_Item *)st->items;
555 if (sti->eval_job) ecore_job_del(sti->eval_job); 559 if (sti->eval_job)
560 {
561 ecore_job_del(sti->eval_job);
562 sti->eval_job = NULL;
563 }
556 if (sti->fetch_th) 564 if (sti->fetch_th)
557 { 565 {
558 ecore_thread_cancel(sti->fetch_th); 566 ecore_thread_cancel(sti->fetch_th);