From: Timo Sirainen Date: Tue, 25 Aug 2009 13:16:58 +0000 (-0400) Subject: maildir: Fixed maildir_sync_get_changes() to work as it should have. X-Git-Tag: 2.0.alpha1~238 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7d7f4648f72b8c70928e04514b0d93dad0ba6fd5;p=thirdparty%2Fdovecot%2Fcore.git maildir: Fixed maildir_sync_get_changes() to work as it should have. --HG-- branch : HEAD --- diff --git a/src/lib-storage/index/maildir/maildir-sync.c b/src/lib-storage/index/maildir/maildir-sync.c index 96ae6a8def..13154a23c3 100644 --- a/src/lib-storage/index/maildir/maildir-sync.c +++ b/src/lib-storage/index/maildir/maildir-sync.c @@ -678,23 +678,21 @@ static int maildir_sync_get_changes(struct maildir_sync_context *ctx, new_changed_r, cur_changed_r) < 0) return -1; - if (*new_changed_r || *cur_changed_r) - return 1; - if (have_recent_messages(ctx)) { if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0) { *new_changed_r = TRUE; - return 1; } else if (*new_changed_r) { /* we have some recent messages and new/ has changed. if messages had been externally deleted from new/, we need to get them out of index. this requires that we make sure they weren't just moved to cur/. */ *cur_changed_r = TRUE; - return 1; } } + if (*new_changed_r || *cur_changed_r) + return 1; + if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0) flags |= MAIL_INDEX_SYNC_FLAG_DROP_RECENT;