From 65e5e1456179d68f36602a5976184b38cc4b636c Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 27 May 2019 06:50:04 +0000 Subject: [PATCH] Fix the intended ordering of items in buffer mode - it should not always be tag 0 when the tree is empty. GitHub issue 1759. --- mode-tree.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mode-tree.c b/mode-tree.c index 8cb556c5..add17c82 100644 --- a/mode-tree.c +++ b/mode-tree.c @@ -384,7 +384,7 @@ mode_tree_build(struct mode_tree_data *mtd) if (mtd->line_list != NULL) tag = mtd->line_list[mtd->current].item->tag; else - tag = 0; + tag = UINT64_MAX; TAILQ_CONCAT(&mtd->saved, &mtd->children, entry); TAILQ_INIT(&mtd->children); @@ -400,6 +400,8 @@ mode_tree_build(struct mode_tree_data *mtd) mode_tree_clear_lines(mtd); mode_tree_build_lines(mtd, &mtd->children, 0); + if (tag == UINT64_MAX) + tag = mtd->line_list[mtd->current].item->tag; mode_tree_set_current(mtd, tag); mtd->width = screen_size_x(s);