aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog7
-rw-r--r--camel/providers/imap/camel-imap-store.c5
2 files changed, 11 insertions, 1 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index ba8b47656d..b222c86fa0 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,5 +1,12 @@
2004-02-02 Jeffrey Stedfast <fejj@ximian.com>
+ Fixes for bug #53091.
+
+ * providers/imap/camel-imap-store.c (create_folder): Set the new
+ folder's fi->flags to CAMEL_FOLDER_NOCHILDREN since we know it
+ doesn't have any (we just created it!).
+ (subscribe_folder): Same.
+
* camel-store.c (folder_info_clone_rec): Copy the flags too. Fixes
the local folder case of bug #53091.
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index 15f4a5c530..d02ce4117a 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -1003,7 +1003,7 @@ imap_build_folder_info(CamelImapStore *imap_store, const char *folder_name)
name = fi->path;
fi->name = g_strdup (name);
-
+
return fi;
}
@@ -2104,6 +2104,7 @@ create_folder (CamelStore *store, const char *parent_name,
si = camel_imap_store_summary_add_from_full(imap_store->summary, full_name, store->dir_sep);
camel_store_summary_save((CamelStoreSummary *)imap_store->summary);
fi = imap_build_folder_info(imap_store, camel_store_info_path(imap_store->summary, si));
+ fi->flags |= CAMEL_FOLDER_NOCHILDREN;
if (root) {
root->child = fi;
fi->parent = root;
@@ -2725,6 +2726,8 @@ subscribe_folder (CamelStore *store, const char *folder_name,
}
fi = imap_build_folder_info(imap_store, folder_name);
+ fi->flags |= CAMEL_FOLDER_NOCHILDREN;
+
camel_object_trigger_event (CAMEL_OBJECT (store), "folder_subscribed", fi);
camel_folder_info_free (fi);
}