aboutsummaryrefslogtreecommitdiffstats
path: root/camel
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-02-22 22:58:56 +0800
committerDan Winship <danw@src.gnome.org>2001-02-22 22:58:56 +0800
commitfa3dd0054fe2bb2eb17d50540473b82b360f0b4a (patch)
tree2cfb0de06367d328057a1a1b5bb73566dcb6677d /camel
parent25ccc39cae259140992aec83bee4710a6665fa49 (diff)
downloadgsoc2013-evolution-fa3dd0054fe2bb2eb17d50540473b82b360f0b4a.tar.gz
gsoc2013-evolution-fa3dd0054fe2bb2eb17d50540473b82b360f0b4a.tar.zst
gsoc2013-evolution-fa3dd0054fe2bb2eb17d50540473b82b360f0b4a.zip
#define this as the set of all IMAP system flags
* providers/imap/camel-imap-summary.h (CAMEL_IMAP_SERVER_FLAGS): #define this as the set of all IMAP system flags * providers/imap/camel-imap-folder.c (sync_message): after syncing flags, set server_flags to (flags & CAMEL_IMAP_SERVER_FLAGS) rather than just "flags", since any other flags won't have been synced. Prevents the CAMEL_MESSAGE_ATTACHMENTS flag from getting lost. svn path=/trunk/; revision=8344
Diffstat (limited to 'camel')
-rw-r--r--camel/ChangeLog11
-rw-r--r--camel/providers/imap/camel-imap-folder.c3
-rw-r--r--camel/providers/imap/camel-imap-summary.h6
3 files changed, 19 insertions, 1 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 164cd55fab..bfa6e7e0c3 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,14 @@
+2001-02-22 Dan Winship <danw@ximian.com>
+
+ * providers/imap/camel-imap-summary.h (CAMEL_IMAP_SERVER_FLAGS):
+ #define this as the set of all IMAP system flags
+
+ * providers/imap/camel-imap-folder.c (sync_message): after syncing
+ flags, set server_flags to (flags & CAMEL_IMAP_SERVER_FLAGS)
+ rather than just "flags", since any other flags won't have been
+ synced. Prevents the CAMEL_MESSAGE_ATTACHMENTS flag from getting
+ lost.
+
2001-02-22 Not Zed <NotZed@Ximian.com>
* providers/vee/*: Removed all files.
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c
index 87807bcbe5..f72201ca63 100644
--- a/camel/providers/imap/camel-imap-folder.c
+++ b/camel/providers/imap/camel-imap-folder.c
@@ -434,7 +434,8 @@ sync_message (CamelImapStore *store, CamelFolder *folder,
camel_imap_response_free (response);
mi->flags &= ~CAMEL_MESSAGE_FOLDER_FLAGGED;
- ((CamelImapMessageInfo *)mi)->server_flags = mi->flags;
+ ((CamelImapMessageInfo *)mi)->server_flags =
+ mi->flags & CAMEL_IMAP_SERVER_FLAGS;
}
static void
diff --git a/camel/providers/imap/camel-imap-summary.h b/camel/providers/imap/camel-imap-summary.h
index e3ee2ff13b..7ad1e3f4e8 100644
--- a/camel/providers/imap/camel-imap-summary.h
+++ b/camel/providers/imap/camel-imap-summary.h
@@ -32,6 +32,12 @@
#define CAMEL_IMAP_SUMMARY_CLASS(klass) CAMEL_CHECK_CLASS_CAST (klass, camel_imap_summary_get_type (), CamelImapSummaryClass)
#define CAMEL_IS_IMAP_SUMMARY(obj) CAMEL_CHECK_TYPE (obj, camel_imap_summary_get_type ())
+#define CAMEL_IMAP_SERVER_FLAGS (CAMEL_MESSAGE_ANSWERED | \
+ CAMEL_MESSAGE_DELETED | \
+ CAMEL_MESSAGE_DRAFT | \
+ CAMEL_MESSAGE_FLAGGED | \
+ CAMEL_MESSAGE_SEEN)
+
typedef struct _CamelImapSummaryClass CamelImapSummaryClass;
typedef struct _CamelImapMessageContentInfo {