From: Sebastian Dransfeld Date: Sat, 5 Feb 2011 20:03:18 +0000 (+0000) Subject: Fix segv, clear mem cache on eet file close X-Git-Tag: submit/devel/efl/20131022.203902~10545 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8d0cebc63231a12c507c9e75a2f0b1bd44d07531;p=platform%2Fupstream%2Fefl.git Fix segv, clear mem cache on eet file close Patch by Hannes Janetzek SVN revision: 56735 --- diff --git a/legacy/efreet/ChangeLog b/legacy/efreet/ChangeLog index 065e02e..cc61e00 100644 --- a/legacy/efreet/ChangeLog +++ b/legacy/efreet/ChangeLog @@ -38,3 +38,7 @@ in efreet_init() * Set EFREET_MODULE_LOG_DOM variable to -1 after unregister * Remove duplicate logging macros + +2011-02-05 Hannes Janetzek + + * Clear mem cache when closing eet file diff --git a/legacy/efreet/src/lib/efreet_utils.c b/legacy/efreet/src/lib/efreet_utils.c index bb4b960..deb0abb 100644 --- a/legacy/efreet/src/lib/efreet_utils.c +++ b/legacy/efreet/src/lib/efreet_utils.c @@ -671,6 +671,20 @@ efreet_util_cache_names(Eet_Data_Descriptor *edd, const char *key) void efreet_util_desktop_cache_reload(void) { + if (cache_names) + { + IF_RELEASE(cache_names_key); + efreet_cache_array_string_free(cache_names); + cache_names = NULL; + } + if (cache_hash) + { + IF_RELEASE(cache_hash_key); + eina_hash_free(cache_hash->hash); + free(cache_hash); + cache_hash = NULL; + } + cache = efreet_cache_close(cache); }