Fix segv, clear mem cache on eet file close
authorSebastian Dransfeld <sd@tango.flipp.net>
Sat, 5 Feb 2011 20:03:18 +0000 (20:03 +0000)
committerSebastian Dransfeld <sd@tango.flipp.net>
Sat, 5 Feb 2011 20:03:18 +0000 (20:03 +0000)
Patch by Hannes Janetzek

SVN revision: 56735

legacy/efreet/ChangeLog
legacy/efreet/src/lib/efreet_utils.c

index 065e02e..cc61e00 100644 (file)
@@ -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
index bb4b960..deb0abb 100644 (file)
@@ -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);
 }