From 8d4e508f40ad5910d240868b6885ab9473751b78 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 5 Dec 2000 16:46:15 +0000 Subject: Fix the check for "flags aren't actually changing". * providers/imap/camel-imap-folder.c (imap_set_message_flags): Fix the check for "flags aren't actually changing". * providers/local/camel-local-folder.c (local_set_message_flags, local_set_message_user_flag, local_set_message_user_tag): Don't emit message_changed unless the flags actually changed. * providers/nntp/camel-nntp-folder.c (nntp_folder_set_message_flags): Don't emit message_changed unless the flags actually changed. Fix the check for marked as seen. svn path=/trunk/; revision=6797 --- camel/providers/nntp/camel-nntp-folder.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'camel/providers/nntp') diff --git a/camel/providers/nntp/camel-nntp-folder.c b/camel/providers/nntp/camel-nntp-folder.c index ba469583e3..f918317502 100644 --- a/camel/providers/nntp/camel-nntp-folder.c +++ b/camel/providers/nntp/camel-nntp-folder.c @@ -97,10 +97,14 @@ nntp_folder_set_message_flags (CamelFolder *folder, const char *uid, { CamelNNTPFolder *nntp_folder = CAMEL_NNTP_FOLDER (folder); CamelMessageInfo *info = camel_folder_summary_uid (nntp_folder->summary, uid); + guint32 new; - info->flags = set; + new = (info->flags & ~flags) | (set & flags); + if (new == info->flags) + return; - if (set & CAMEL_MESSAGE_SEEN) { + info->flags = new; + if (flags & set & CAMEL_MESSAGE_SEEN) { int article_num; CamelNNTPStore *nntp_store = CAMEL_NNTP_STORE (camel_folder_get_parent_store (folder)); -- cgit