From 4df58367179abb17eafde40a1c47f3adb2dcd1f2 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 11 Nov 2008 22:01:51 +0200 Subject: [PATCH] virtual mailboxes: Fixed an assert-crash when mailbox was being opened. --HG-- branch : HEAD --- src/plugins/virtual/virtual-sync.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/plugins/virtual/virtual-sync.c b/src/plugins/virtual/virtual-sync.c index 17654c2a08..7da9ea5637 100644 --- a/src/plugins/virtual/virtual-sync.c +++ b/src/plugins/virtual/virtual-sync.c @@ -974,8 +974,16 @@ static void virtual_sync_backend_map_uids(struct virtual_sync_context *ctx) else { /* exists - update uidmap and flags */ uidmap[j++].virtual_uid = vuid; - virtual_sync_external_flags(ctx, bbox, vseq, - vrec->real_uid); + /* if ctx->retry is set, we're just opening the virtual + mailbox and using a continued search using modseq. + some messages in uidmap may already be expunged, so + we can't go looking at the real messages yet. + after retrying the sync we'll get back here and + really do it. */ + if (!ctx->retry) { + virtual_sync_external_flags(ctx, bbox, vseq, + vrec->real_uid); + } } } i_free(vmails); -- 2.47.3