aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap/camel-imap-store.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/providers/imap/camel-imap-store.c')
-rw-r--r--camel/providers/imap/camel-imap-store.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index 21211616ae..7ff46b9850 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -734,6 +734,13 @@ imap_disconnect (CamelService *service, gboolean clean, CamelException *ex)
store->subscribed_folders = NULL;
}
+ if (imap_store->authtypes) {
+ g_hash_table_foreach_remove (imap_store->authtypes,
+ free_key, NULL);
+ g_hash_table_destroy (imap_store->authtypes);
+ imap_store->authtypes = NULL;
+ }
+
if (store->namespace && !(store->parameters & IMAP_PARAM_OVERRIDE_NAMESPACE)) {
g_free (store->namespace);
store->namespace = NULL;
@@ -1148,8 +1155,10 @@ get_folder_info (CamelStore *store, const char *top, gboolean fast,
return NULL;
if (folders->len) {
fi = folders->pdata[0];
- if (!fi->url)
+ if (!fi->url) {
+ camel_folder_info_free (fi);
g_ptr_array_remove_index (folders, 0);
+ }
}
/* If we want to look at only subscribed folders AND