From a3efd2ab5aa80757dff1570444faae927ece15b8 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sat, 23 Oct 2010 12:51:51 +0000 Subject: [PATCH] When removing a pane, don't change the active pane unless the active pane is actually the one being removed. --- window.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/window.c b/window.c index 181ffd7c..874f4723 100644 --- a/window.c +++ b/window.c @@ -368,9 +368,11 @@ window_add_pane(struct window *w, u_int hlimit) void window_remove_pane(struct window *w, struct window_pane *wp) { - w->active = TAILQ_PREV(wp, window_panes, entry); - if (w->active == NULL) - w->active = TAILQ_NEXT(wp, entry); + if (wp == w->active) { + w->active = TAILQ_PREV(wp, window_panes, entry); + if (w->active == NULL) + w->active = TAILQ_NEXT(wp, entry); + } TAILQ_REMOVE(&w->panes, wp, entry); window_pane_destroy(wp);