* Fixes NB#91689. fixes a wrong check for ASCII
[modest] / src / modest-cache-mgr.c
index 6e64be6..c5bf3cb 100644 (file)
@@ -29,6 +29,7 @@
 
 #include <config.h>
 #include <modest-cache-mgr.h>
+#include <stdio.h>
 
 /* 'private'/'protected' functions */
 static void modest_cache_mgr_class_init (ModestCacheMgrClass *klass);
@@ -128,7 +129,6 @@ modest_cache_mgr_init (ModestCacheMgr *obj)
                                       g_direct_equal,  
                                       (GDestroyNotify)my_object_unref,   /* ref'd GObject */
                                       (GDestroyNotify)my_object_unref);   /* ref'd GObject */  
-
 }
 
 
@@ -142,7 +142,7 @@ modest_cache_mgr_finalize (GObject *obj)
        priv = MODEST_CACHE_MGR_GET_PRIVATE(obj);
        
        modest_cache_mgr_flush_all (self);
-       
+
        priv->date_str_cache    = NULL;
        priv->display_str_cache = NULL;
        priv->pixbuf_cache      = NULL;
@@ -183,6 +183,11 @@ modest_cache_mgr_get_cache   (ModestCacheMgr* self, ModestCacheMgrCacheType type
        GHashTable *cache;
        
        g_return_val_if_fail (self, NULL);
+       
+       if (!(type >= 0 && type <= MODEST_CACHE_MGR_CACHE_TYPE_NUM)) {
+               printf ("DEBUG: %s: incorrect type = %d\n", __FUNCTION__, type);        
+       }
+       
        g_return_val_if_fail (type >= 0 && type <= MODEST_CACHE_MGR_CACHE_TYPE_NUM, NULL);
 
        priv  = MODEST_CACHE_MGR_GET_PRIVATE(self);
@@ -192,13 +197,6 @@ modest_cache_mgr_get_cache   (ModestCacheMgr* self, ModestCacheMgrCacheType type
 }
 
 
-static gboolean
-always_true (gpointer key, gpointer value, gpointer user_data)
-{
-       return TRUE;
-}
-
-
 void
 modest_cache_mgr_flush (ModestCacheMgr *self, ModestCacheMgrCacheType type)
 {
@@ -207,13 +205,12 @@ modest_cache_mgr_flush (ModestCacheMgr *self, ModestCacheMgrCacheType type)
        
        g_return_if_fail (self);
        g_return_if_fail (type >= 0 && type <= MODEST_CACHE_MGR_CACHE_TYPE_NUM);
-
+       
        priv  = MODEST_CACHE_MGR_GET_PRIVATE(self);
 
        cache = get_cache (priv, type);
        if (cache)
-               g_hash_table_foreach_remove (cache, always_true, NULL);
-       /*  g_hash_table_remove_all (cache) in only available since GLIB 2.12 */
+               g_hash_table_destroy (cache);
 }
 
 
@@ -222,7 +219,7 @@ modest_cache_mgr_flush_all (ModestCacheMgr *self)
 {
        int i;
        g_return_if_fail (self);
-
+       
        for (i = 0; i != MODEST_CACHE_MGR_CACHE_TYPE_NUM; ++i)
                modest_cache_mgr_flush (self, i);       
 }