diff options
author | 2011-05-08 21:12:52 +0000 | |
---|---|---|
committer | 2011-05-08 21:12:52 +0000 | |
commit | fde061b15ff30f8087d360c46b3e935189b2b4db (patch) | |
tree | 68ff3f8b62c02d57f2b16fb7a1a170342384c72e | |
parent | memory handling fix (diff) | |
download | wireguard-openbsd-fde061b15ff30f8087d360c46b3e935189b2b4db.tar.xz wireguard-openbsd-fde061b15ff30f8087d360c46b3e935189b2b4db.zip |
Reset last pane on swap-pane across windows, fixes crash noticed by hsim
at gmx.li.
-rw-r--r-- | usr.bin/tmux/cmd-swap-pane.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.bin/tmux/cmd-swap-pane.c b/usr.bin/tmux/cmd-swap-pane.c index 4bdd3627649..092c01a56dc 100644 --- a/usr.bin/tmux/cmd-swap-pane.c +++ b/usr.bin/tmux/cmd-swap-pane.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-swap-pane.c,v 1.12 2011/01/04 00:42:47 nicm Exp $ */ +/* $OpenBSD: cmd-swap-pane.c,v 1.13 2011/05/08 21:12:52 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -129,6 +129,12 @@ cmd_swap_pane_exec(struct cmd *self, struct cmd_ctx *ctx) if (dst_w->active == dst_wp) window_set_active_pane(dst_w, src_wp); } + if (src_w != dst_w) { + if (src_w->last == src_wp) + src_w->last = NULL; + if (dst_w->last == dst_wp) + dst_w->last = NULL; + } server_redraw_window(src_w); server_redraw_window(dst_w); |