changeset 22708:fe21125a7ba8

LAYOUT=fs: List INBOX as \NoInferiors when necessary
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Thu, 14 Dec 2017 01:34:25 +0200
parents 42e50736aac0
children 86939499f531
files src/lib-storage/list/mailbox-list-fs-iter.c
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/list/mailbox-list-fs-iter.c	Thu Dec 14 01:31:10 2017 +0200
+++ b/src/lib-storage/list/mailbox-list-fs-iter.c	Thu Dec 14 01:34:25 2017 +0200
@@ -567,6 +567,10 @@
 	/* INBOX is always selectable */
 	ctx->info.flags &= ~(MAILBOX_NOSELECT | MAILBOX_NONEXISTENT);
 
+	if (mail_namespace_is_inbox_noinferiors(ctx->info.ns)) {
+		ctx->info.flags &= ~(MAILBOX_CHILDREN|MAILBOX_NOCHILDREN);
+		ctx->info.flags |= MAILBOX_NOINFERIORS;
+	}
 	if (*ns->prefix != '\0' &&
 	    (ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0) {
 		/* we're listing INBOX for a namespace with a prefix.
@@ -584,9 +588,6 @@
 			   INBOX. we're now doing a LIST INBOX/%, so we'll need
 			   to create a fake \NoSelect INBOX/INBOX */
 			ctx->list_inbox_inbox = TRUE;
-		} else {
-			ctx->info.flags &= ~MAILBOX_CHILDREN;
-			ctx->info.flags |= MAILBOX_NOINFERIORS;
 		}
 	}
 }