diff options
-rw-r--r-- | camel/ChangeLog | 7 | ||||
-rw-r--r-- | camel/providers/imap/camel-imap-store.c | 5 |
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); } |