summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2011-05-08 21:12:52 +0000
committernicm <nicm@openbsd.org>2011-05-08 21:12:52 +0000
commitfde061b15ff30f8087d360c46b3e935189b2b4db (patch)
tree68ff3f8b62c02d57f2b16fb7a1a170342384c72e
parentmemory handling fix (diff)
downloadwireguard-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.c8
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);