From 14d0e2456bb4f50f4871cbaad63fd4424c9b5e05 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 3 Apr 2001 22:03:18 +0000 Subject: (imap_update_summary): When reading message flags, set the server_flags field as well, and don't overwrite any flags set by camel_folder_summary_info_new_from_message. Might help with some of the flag problems... svn path=/trunk/; revision=9149 --- camel/ChangeLog | 4 ++++ camel/providers/imap/camel-imap-folder.c | 11 +++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'camel') diff --git a/camel/ChangeLog b/camel/ChangeLog index eab94447d8..412a851a2f 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -6,6 +6,10 @@ (imap_get_message): If the server_level < IMAP4rev1, always fetch messages all-at-once, since they don't support the [#.MIME] syntax. + (imap_update_summary): When reading message flags, set the + server_flags field as well, and don't overwrite any flags set by + camel_folder_summary_info_new_from_message. Might help with some + of the flag problems... 2001-04-02 Dan Winship diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index b05dcfb5e4..f30c731e0c 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -1103,8 +1103,15 @@ imap_update_summary (CamelFolder *folder, if (g_datalist_get_data (&fetch_data, "UID")) camel_message_info_set_uid (mi, g_strdup (g_datalist_get_data (&fetch_data, "UID"))); - if (g_datalist_get_data (&fetch_data, "FLAGS")) - mi->flags = GPOINTER_TO_INT (g_datalist_get_data (&fetch_data, "FLAGS")); + if (g_datalist_get_data (&fetch_data, "FLAGS")) { + guint32 flags = GPOINTER_TO_INT (g_datalist_get_data (&fetch_data, "FLAGS")); + + ((CamelImapMessageInfo *)mi)->server_flags = flags; + /* "or" them in with the existing flags that may + * have been set by summary_info_new_from_message. + */ + mi->flags |= flags; + } if (g_datalist_get_data (&fetch_data, "RFC822.SIZE")) mi->size = GPOINTER_TO_INT (g_datalist_get_data (&fetch_data, "RFC822.SIZE")); -- cgit v1.2.3