]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
virtual: More syncing fixes.
authorTimo Sirainen <tss@iki.fi>
Fri, 19 Dec 2008 05:49:08 +0000 (07:49 +0200)
committerTimo Sirainen <tss@iki.fi>
Fri, 19 Dec 2008 05:49:08 +0000 (07:49 +0200)
--HG--
branch : HEAD

src/plugins/virtual/virtual-sync.c

index 76b37be4fca397eb815733fa379db32ad9c99200..e6fa171335f507e2c8c1e1332ea1b7c1c6c2f82e 100644 (file)
@@ -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);
        }