# HG changeset patch # User Timo Sirainen # Date 1513207425 -7200 # Node ID 6ea402d0c650b2cf5c5088d5ff87b04fbbf7340c # Parent f9b676b1b028cc3ab26d319e5e94dfb95e9603e3 LAYOUT=Maildir++: List INBOX as \NoInferiors when necessary diff -r f9b676b1b028 -r 6ea402d0c650 src/lib-storage/list/mailbox-list-maildir-iter.c --- a/src/lib-storage/list/mailbox-list-maildir-iter.c Thu Dec 14 01:23:01 2017 +0200 +++ b/src/lib-storage/list/mailbox-list-maildir-iter.c Thu Dec 14 01:23:45 2017 +0200 @@ -505,6 +505,12 @@ return mailbox_list_iter_default_next(_ctx); ctx->info.flags = node->flags; + if (strcmp(ctx->info.vname, "INBOX") == 0 && + mail_namespace_is_inbox_noinferiors(ctx->info.ns)) { + i_assert((ctx->info.flags & MAILBOX_NOCHILDREN) != 0); + ctx->info.flags &= ~MAILBOX_NOCHILDREN; + ctx->info.flags |= MAILBOX_NOINFERIORS; + } if ((_ctx->flags & MAILBOX_LIST_ITER_RETURN_SUBSCRIBED) != 0 && (_ctx->flags & MAILBOX_LIST_ITER_SELECT_SUBSCRIBED) == 0) { /* we're listing all mailboxes but we want to know