diff options
author | Lukasz Stanislawski <l.stanislaws@samsung.com> | 2013-03-25 12:28:08 +0900 |
---|---|---|
committer | Cedric BAIL <cedric.bail@samsung.com> | 2013-03-25 12:29:21 +0900 |
commit | 2489eb53726ffafdf60560703a378a067510fb64 (patch) | |
tree | 52133906a4b9d7cbfeb6ddd7210795933a70e4e3 | |
parent | fef3f94b56e40b112bb713677fd4e6e811db7f6d (diff) | |
download | elementary-2489eb53726ffafdf60560703a378a067510fb64.tar.gz |
store: fix a crash occuring when elm_store_free function is invoked and a mem leak when genlist object is deleted.
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
-rw-r--r-- | src/lib/elm_store.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/elm_store.c b/src/lib/elm_store.c index c2bd8ddb1..eda311762 100644 --- a/src/lib/elm_store.c +++ b/src/lib/elm_store.c @@ -146,7 +146,7 @@ _store_genlist_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, } eina_lock_release(&sti->lock); eina_lock_free(&sti->lock); - st->items = NULL; + st->items = eina_inlist_remove(st->items, EINA_INLIST_GET(sti)); free(sti); } // FIXME: kill threads and more @@ -576,6 +576,7 @@ elm_store_free(Elm_Store *st) } eina_lock_release(&sti->lock); eina_lock_free(&sti->lock); + st->items = eina_inlist_remove(st->items, EINA_INLIST_GET(sti)); free(sti); } if (st->genlist) |