diff options
Diffstat (limited to 'camel/providers/imap/camel-imap-store.c')
-rw-r--r-- | camel/providers/imap/camel-imap-store.c | 11 |
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 |