aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/mbox/camel-mbox-folder.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/providers/mbox/camel-mbox-folder.c')
-rw-r--r--camel/providers/mbox/camel-mbox-folder.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/camel/providers/mbox/camel-mbox-folder.c b/camel/providers/mbox/camel-mbox-folder.c
index 305935fcdd..07accc5a35 100644
--- a/camel/providers/mbox/camel-mbox-folder.c
+++ b/camel/providers/mbox/camel-mbox-folder.c
@@ -243,9 +243,10 @@ mbox_close (CamelFolder *folder, gboolean expunge, CamelException *ex)
/* call parent implementation */
parent_class->close (folder, expunge, ex);
- if (expunge) {
+ if (expunge)
mbox_expunge(folder, ex);
- }
+ else
+ camel_mbox_summary_sync(mbox_folder->summary, FALSE);
/* save index */
if (mbox_folder->index) {
@@ -268,7 +269,7 @@ mbox_expunge (CamelFolder *folder, CamelException *ex)
{
CamelMboxFolder *mbox = (CamelMboxFolder *)folder;
- if (camel_mbox_summary_expunge(mbox->summary) == -1) {
+ if (camel_mbox_summary_sync(mbox->summary, TRUE) == -1) {
camel_exception_setv (ex, CAMEL_EXCEPTION_FOLDER_INVALID, /* FIXME: right error code */
"Could not expunge: %s", strerror(errno));
}