summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2019-05-27 06:50:04 +0000
committernicm <nicm@openbsd.org>2019-05-27 06:50:04 +0000
commit848da443a0854b7424d6cebd361c39d63c64c3d1 (patch)
tree3ec8e906939b9bcf7e43a017f780cbe655f20d18
parentsupport -T erspan so arbitrary gre protocols can be seen as erspan (diff)
downloadwireguard-openbsd-848da443a0854b7424d6cebd361c39d63c64c3d1.tar.xz
wireguard-openbsd-848da443a0854b7424d6cebd361c39d63c64c3d1.zip
Fix the intended ordering of items in buffer mode - it should not always
be tag 0 when the tree is empty. GitHub issue 1759.
-rw-r--r--usr.bin/tmux/mode-tree.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.bin/tmux/mode-tree.c b/usr.bin/tmux/mode-tree.c
index 4b60e626f85..e726164582d 100644
--- a/usr.bin/tmux/mode-tree.c
+++ b/usr.bin/tmux/mode-tree.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mode-tree.c,v 1.31 2019/05/26 17:34:45 nicm Exp $ */
+/* $OpenBSD: mode-tree.c,v 1.32 2019/05/27 06:50:04 nicm Exp $ */
/*
* Copyright (c) 2017 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -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);