aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog5
-rw-r--r--mail/mail-ops.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index d1fd7fb6c7..e274211a65 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,8 @@
+2000-10-29 Dan Winship <danw@helixcode.com>
+
+ * mail-ops.c (do_fetch_mail): Sync the folder before refreshing so
+ we don't lose flag settings.
+
2000-10-27 Jeffrey Stedfast <fejj@helixcode.com>
* mail-callbacks.c (composer_send_cb): Check to make sure that the
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index 158a23a953..a6fd33639a 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -136,7 +136,9 @@ do_fetch_mail (gpointer in_data, gpointer op_data, CamelException *ex)
if (!strncmp (input->source_url, "imap:", 5)) {
folder = mail_tool_get_inbox (input->source_url, ex);
if (folder) {
- camel_folder_refresh_info (folder, ex);
+ camel_folder_sync (folder, FALSE, ex);
+ if (!camel_exception_is_set (ex))
+ camel_folder_refresh_info (folder, ex);
camel_object_unref (CAMEL_OBJECT (folder));
}