From: Timo Sirainen Date: Fri, 19 Dec 2008 05:49:08 +0000 (+0200) Subject: virtual: More syncing fixes. X-Git-Tag: 1.2.beta1~172 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5b486fdbf2077a994337dc8bd4477ec51d5daf4e;p=thirdparty%2Fdovecot%2Fcore.git virtual: More syncing fixes. --HG-- branch : HEAD --- diff --git a/src/plugins/virtual/virtual-sync.c b/src/plugins/virtual/virtual-sync.c index 76b37be4fc..e6fa171335 100644 --- a/src/plugins/virtual/virtual-sync.c +++ b/src/plugins/virtual/virtual-sync.c @@ -827,7 +827,7 @@ static void virtual_sync_backend_ext_header(struct virtual_sync_context *ctx, bbox->sync_highest_modseq = status.highest_modseq; bbox->sync_next_uid = status.uidnext; - if (!ctx->ext_header_rewrite) { + if (ctx->ext_header_rewrite) { /* we'll rewrite the entire header later */ return; } @@ -1213,6 +1213,8 @@ static int virtual_sync(struct virtual_mailbox *mbox, ret = virtual_sync_backend_boxes(ctx); if (ctx->retry && ret == 0) { ctx->retry = FALSE; + /* map uids again to update changed message flags */ + ctx->mbox->uids_mapped = FALSE; ret = virtual_sync_backend_boxes(ctx); i_assert(!ctx->retry); }