diff options
author | 2016-08-27 23:35:00 +0000 | |
---|---|---|
committer | 2016-08-27 23:35:00 +0000 | |
commit | b0f51586047e41f40b27cf6354fe33352dfe9a39 (patch) | |
tree | 0a0cf1697f959c050cdf1ea952954a9afb556a13 /usr.bin/tmux/cmd-join-pane.c | |
parent | Delete debugging from when lazy binding was being implemented (diff) | |
download | wireguard-openbsd-b0f51586047e41f40b27cf6354fe33352dfe9a39.tar.xz wireguard-openbsd-b0f51586047e41f40b27cf6354fe33352dfe9a39.zip |
Kill empty window after moving pane and updating current window, so that
index is still valid before renumber-windows happens. Fixes issue
reported by Eric Pruitt.
Diffstat (limited to 'usr.bin/tmux/cmd-join-pane.c')
-rw-r--r-- | usr.bin/tmux/cmd-join-pane.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/usr.bin/tmux/cmd-join-pane.c b/usr.bin/tmux/cmd-join-pane.c index c98845ce93f..630d061354d 100644 --- a/usr.bin/tmux/cmd-join-pane.c +++ b/usr.bin/tmux/cmd-join-pane.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-join-pane.c,v 1.23 2016/01/19 15:59:12 nicm Exp $ */ +/* $OpenBSD: cmd-join-pane.c,v 1.24 2016/08/27 23:35:00 nicm Exp $ */ /* * Copyright (c) 2011 George Nachman <tmux@georgester.com> @@ -136,11 +136,6 @@ join_pane(struct cmd *self, struct cmd_q *cmdq, int not_same_window) window_lost_pane(src_w, src_wp); TAILQ_REMOVE(&src_w->panes, src_wp, entry); - if (window_count_panes(src_w) == 0) - server_kill_window(src_w); - else - notify_window_layout_changed(src_w); - src_wp->window = dst_w; TAILQ_INSERT_AFTER(&dst_w->panes, dst_wp, src_wp, entry); layout_assign_pane(lc, src_wp); @@ -157,6 +152,11 @@ join_pane(struct cmd *self, struct cmd_q *cmdq, int not_same_window) } else server_status_session(dst_s); + if (window_count_panes(src_w) == 0) + server_kill_window(src_w); + else + notify_window_layout_changed(src_w); notify_window_layout_changed(dst_w); + return (CMD_RETURN_NORMAL); } |