aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog7
-rw-r--r--camel/providers/imap/camel-imap-folder.c8
2 files changed, 13 insertions, 2 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index dee5151d26..3d6ed1274e 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,10 @@
+2000-12-06 Jeffrey Stedfast <fejj@helixcode.com>
+
+ * providers/imap/camel-imap-folder.c (imap_refresh_info): We want
+ to bitwise-or the server and cached flags here so that we keep the
+ flags that we have set locally and set any additional flags that a
+ parallel connection may have set.
+
2000-12-05 Jeffrey Stedfast <fejj@helixcode.com>
* providers/smtp/camel-smtp-transport.c (smtp_data): If the data
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c
index 35346813db..b6f6cc1132 100644
--- a/camel/providers/imap/camel-imap-folder.c
+++ b/camel/providers/imap/camel-imap-folder.c
@@ -311,8 +311,12 @@ imap_refresh_info (CamelFolder *folder, CamelException *ex)
/* Update summary flags */
if (info->flags != new[i].flags) {
- info->flags = new[i].flags;
- camel_object_trigger_event (CAMEL_OBJECT (folder),
+ /* Keep the flags that we have set locally and set
+ any additional flags that a parallel connection
+ may have set. */
+ info->flags |= new[i].flags;
+
+ camel_object_trigger_event (CAMEL_OBJECT (folder),
"message_changed",
(char *)camel_message_info_uid(info));
}