diff options
-rw-r--r-- | camel/ChangeLog | 6 | ||||
-rw-r--r-- | camel/providers/imap/camel-imap-folder.c | 10 |
2 files changed, 11 insertions, 5 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 2387fd091d..a6ed0695c1 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,9 @@ +2001-10-18 Jeffrey Stedfast <fejj@ximian.com> + + * providers/imap/camel-imap-folder.c (imap_sync_online): Fix my + Cyrus imapd workaround...instead of checking to see if info->flags + == FLAGGED, just check to see if it contains any IMAP flags. + 2001-10-17 <NotZed@Ximian.com> * providers/local/camel-maildir-folder.c diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index 5fe517f4ef..d79cb33b9b 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -631,13 +631,13 @@ imap_sync_online (CamelFolder *folder, CamelException *ex) continue; } - /* Note: Cyrus will not accept an empty-set of flags - so... if this is true then we want to unset the - previously set flags.*/ - unset = info->flags == CAMEL_MESSAGE_FOLDER_FLAGGED; + /* Note: Cyrus is broken and will not accept an + empty-set of flags so... if this is true then we + want to unset the previously set flags.*/ + unset = !(info->flags & CAMEL_IMAP_SERVER_FLAGS); /* FIXME: since we don't know the previously set - flags, if unset is TRUE then assume all were set? */ + flags, if unset is TRUE then just unset all the flags? */ flaglist = imap_create_flag_list (unset ? CAMEL_IMAP_SERVER_FLAGS : info->flags); matches = get_matching (folder, info->flags & (CAMEL_IMAP_SERVER_FLAGS | CAMEL_MESSAGE_FOLDER_FLAGGED), |