From: Timo Sirainen Date: Thu, 17 Mar 2011 14:37:45 +0000 (+0200) Subject: imapc: Fixed setting flags for newly seen messages. X-Git-Tag: 2.1.alpha1~298 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b0856fd2ba6c9d16a67f2e4e851241e79684a39;p=thirdparty%2Fdovecot%2Fcore.git imapc: Fixed setting flags for newly seen messages. --- diff --git a/src/lib-storage/index/imapc/imapc-mailbox.c b/src/lib-storage/index/imapc/imapc-mailbox.c index 6677535c46..1ecf3d77f8 100644 --- a/src/lib-storage/index/imapc/imapc-mailbox.c +++ b/src/lib-storage/index/imapc/imapc-mailbox.c @@ -157,7 +157,7 @@ static void imapc_untagged_fetch(const struct imapc_untagged_reply *reply, struct imapc_seqmap *seqmap; const struct imap_arg *list, *flags_list; const char *atom; - const struct mail_index_record *rec; + const struct mail_index_record *rec = NULL; enum mail_flags flags; uint32_t uid, old_count; unsigned int i, j; @@ -228,8 +228,9 @@ static void imapc_untagged_fetch(const struct imapc_untagged_reply *reply, return; i_assert(lseq == old_count + 1); mail_index_append(mbox->delayed_sync_trans, uid, &lseq); + rec = NULL; } - if (seen_flags && rec->flags != flags) { + if (seen_flags && (rec == NULL || rec->flags != flags)) { mail_index_update_flags(mbox->delayed_sync_trans, lseq, MODIFY_REPLACE, flags); }