changeset 13620:7e0bdfa76f12

imapc: Fixed updating message flags from another session.
author Timo Sirainen <tss@iki.fi>
date Sat, 08 Oct 2011 20:31:22 +0300
parents 92dd30cf0d22
children 8fdd22504aab
files src/lib-storage/index/imapc/imapc-mailbox.c
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/imapc/imapc-mailbox.c	Fri Oct 07 21:15:52 2011 +0300
+++ b/src/lib-storage/index/imapc/imapc-mailbox.c	Sat Oct 08 20:31:22 2011 +0300
@@ -212,6 +212,7 @@
 				fetch_uid, uid);
 			return -1;
 		}
+		*uid_r = uid;
 	} else if (fetch_uid == 0 || rseq != msg_count+1) {
 		/* probably a flag update for a message we haven't yet
 		   received our initial UID FETCH for. we should get
@@ -322,8 +323,8 @@
 			/* already expunged by another session */
 			return;
 		}
-		rec = mail_index_lookup(mbox->delayed_sync_view, lseq);
 	}
+	rec = mail_index_lookup(mbox->delayed_sync_view, lseq);
 
 	if (rseq == mbox->sync_next_rseq) {
 		/* we're doing the initial full sync of mails. expunge any
@@ -340,7 +341,7 @@
 		mbox->sync_next_lseq++;
 	}
 
-	if (seen_flags && (rec == NULL || rec->flags != flags)) {
+	if (seen_flags && rec->flags != flags) {
 		mail_index_update_flags(mbox->delayed_sync_trans, lseq,
 					MODIFY_REPLACE, flags);
 	}