aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-vee-store.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-09-28 12:53:28 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-09-28 12:53:28 +0800
commit665df59a88360115e410d46f50ebe61dead6b151 (patch)
treeecf68dc67404f06d4de946371b6e0f36ce23016b /camel/camel-vee-store.c
parentf3c3a422abf537dcfc24030433e9556d34d71492 (diff)
downloadgsoc2013-evolution-665df59a88360115e410d46f50ebe61dead6b151.tar
gsoc2013-evolution-665df59a88360115e410d46f50ebe61dead6b151.tar.gz
gsoc2013-evolution-665df59a88360115e410d46f50ebe61dead6b151.tar.bz2
gsoc2013-evolution-665df59a88360115e410d46f50ebe61dead6b151.tar.lz
gsoc2013-evolution-665df59a88360115e410d46f50ebe61dead6b151.tar.xz
gsoc2013-evolution-665df59a88360115e410d46f50ebe61dead6b151.tar.zst
gsoc2013-evolution-665df59a88360115e410d46f50ebe61dead6b151.zip
free the unmatched uid values as well.
2004-09-24 Not Zed <NotZed@Ximian.com> * camel-vee-store.c (camel_vee_store_finalise): free the unmatched uid values as well. * camel-vee-folder.c (vee_folder_remove_folder): lock main folder summary lock before doing the unmatched stuff, so the order is right. 2004-08-25 Ed Catmur <ed@catmur.co.uk> ** See bug #63881. * camel-vee-store.c: * camel-vee-folder.c: move the unmatched folder onto the camel-vee-store object. Removede the global unmatched folder and associated locks/etc, fixed all the code up to work with the new unmatched folder, if present. svn path=/trunk/; revision=27408
Diffstat (limited to 'camel/camel-vee-store.c')
-rw-r--r--camel/camel-vee-store.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/camel/camel-vee-store.c b/camel/camel-vee-store.c
index 770a0239c1..90c6ee1f95 100644
--- a/camel/camel-vee-store.c
+++ b/camel/camel-vee-store.c
@@ -93,12 +93,27 @@ camel_vee_store_init (CamelVeeStore *obj)
/* we dont want a vtrash/vjunk on this one */
store->flags &= ~(CAMEL_STORE_VTRASH | CAMEL_STORE_VJUNK);
+
+ /* Set up unmatched folder */
+ obj->unmatched_uids = g_hash_table_new (g_str_hash, g_str_equal);
+ obj->folder_unmatched = (CamelVeeFolder *)camel_object_new (camel_vee_folder_get_type ());
+ camel_vee_folder_construct (obj->folder_unmatched, store, CAMEL_UNMATCHED_NAME, CAMEL_STORE_FOLDER_PRIVATE);
+}
+
+static void
+cvs_free_unmatched(void *key, void *value, void *data)
+{
+ g_free(key);
}
static void
camel_vee_store_finalise (CamelObject *obj)
{
- ;
+ CamelVeeStore *vstore = (CamelVeeStore *)obj;
+
+ g_hash_table_foreach(vstore->unmatched_uids, cvs_free_unmatched, NULL);
+ g_hash_table_destroy(vstore->unmatched_uids);
+ camel_object_unref(vstore->folder_unmatched);
}
/**