aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog3
-rw-r--r--camel/providers/imap/camel-imap-store.c14
2 files changed, 14 insertions, 3 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 114f8ca5be..6e02a11ca6 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,5 +1,8 @@
2000-11-01 Dan Winship <danw@helixcode.com>
+ * providers/imap/camel-imap-store.c (get_folder_info): Remove old
+ subbed folders from hash table after freeing them.
+
* providers/imap/camel-imap-folder.c (imap_get_full_name): Deal
correctly with namespace == ""
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index 8d53f7579c..c42024bd5f 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -106,12 +106,20 @@ camel_imap_store_class_init (CamelImapStoreClass *camel_imap_store_class)
camel_remote_store_class->keepalive = imap_keepalive;
}
+static gboolean
+free_sub (gpointer key, gpointer value, gpointer user_data)
+{
+ g_free (key);
+ return TRUE;
+}
+
static void
camel_imap_store_finalize (CamelObject *object)
{
CamelImapStore *imap_store = CAMEL_IMAP_STORE (object);
- g_hash_table_foreach (imap_store->subscribed_folders, (GHFunc)g_free, NULL);
+ g_hash_table_foreach_remove (imap_store->subscribed_folders,
+ free_sub, NULL);
g_hash_table_destroy (imap_store->subscribed_folders);
}
@@ -648,8 +656,8 @@ get_folder_info (CamelStore *store, const char *top, gboolean fast,
return NULL;
if (subscribed_only) {
- g_hash_table_foreach (imap_store->subscribed_folders,
- (GHFunc)g_free, NULL);
+ g_hash_table_foreach_remove (imap_store->subscribed_folders,
+ free_sub, NULL);
}
/* Turn responses into CamelFolderInfo and remove any
href='/~lantw44/cgit/freebsd-ports-gnome/commit/x11/xscreensaver?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=590e343f8ec41461f825015d6dc8c60d4ae769ab'>- Remove manual creation and removal of share/applications, as it's now in th...amdmi32013-10-221-1/+0 * Add NO_STAGE all over the place in preparation for the staging support (cat: ...bapt2013-09-211-0/+1 * A bunch of cleanups and fixes.zeising2013-09-026-9/+120 * Add missing dependencies.zeising2013-09-021-2/+2 * Fix plist.zeising2013-09-012-8/+17 * Update to 5.22zeising2013-09-012-5/+4 * - Remove MAKE_JOBS_SAFE variableak2013-08-15