changeset 19475:c4cfb7f95bc6

lib-storage: Make sure mail_sesarch_args_simplify_sub() is called enough times.
author Timo Sirainen <tss@iki.fi>
date Sun, 06 Dec 2015 19:26:44 +0200
parents 7c984bcb5f57
children d68d1c95b52c
files src/lib-storage/mail-search-args-simplify.c
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/mail-search-args-simplify.c	Sun Dec 06 19:25:20 2015 +0200
+++ b/src/lib-storage/mail-search-args-simplify.c	Sun Dec 06 19:26:44 2015 +0200
@@ -471,6 +471,7 @@
 			for (; sub->next != NULL; sub = sub->next) ;
 			sub->next = args->next;
 			*args = *args->value.subargs;
+			ctx.removals = TRUE;
 			continue;
 		}
 
@@ -609,7 +610,8 @@
 	if (mail_search_args_unnest_inthreads(args, &args->args,
 					      FALSE, TRUE)) {
 		/* we may have added some extra SUBs that could be dropped */
-		mail_search_args_simplify_sub(args->box, args->pool, args->args, TRUE);
+		if (mail_search_args_simplify_sub(args->box, args->pool, args->args, TRUE))
+			removals = TRUE;
 	}
 	while (removals)
 		removals = mail_search_args_simplify_sub(args->box, args->pool, args->args, TRUE);