mirror of
https://github.com/tmux/tmux.git
synced 2025-01-12 03:08:46 +00:00
Sync OpenBSD patchset 910:
Reset last pane properly when using break-pane as well, fixes a problem reported to Debian by Hannes von Haugwitz (bug 622677).
This commit is contained in:
parent
13d5ac6f9e
commit
21140d426d
@ -1,4 +1,4 @@
|
||||
/* $Id: cmd-break-pane.c,v 1.12 2011-01-07 14:45:33 tcunha Exp $ */
|
||||
/* $Id: cmd-break-pane.c,v 1.13 2011-05-18 20:32:47 tcunha Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -57,12 +57,18 @@ cmd_break_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
|
||||
return (-1);
|
||||
}
|
||||
|
||||
TAILQ_REMOVE(&wl->window->panes, wp, entry);
|
||||
if (wl->window->active == wp) {
|
||||
wl->window->active = TAILQ_PREV(wp, window_panes, entry);
|
||||
if (wl->window->active == NULL)
|
||||
wl->window->active = TAILQ_NEXT(wp, entry);
|
||||
}
|
||||
w = wl->window;
|
||||
TAILQ_REMOVE(&w->panes, wp, entry);
|
||||
if (wp == w->active) {
|
||||
w->active = w->last;
|
||||
w->last = NULL;
|
||||
if (w->active == NULL) {
|
||||
w->active = TAILQ_PREV(wp, window_panes, entry);
|
||||
if (w->active == NULL)
|
||||
w->active = TAILQ_NEXT(wp, entry);
|
||||
}
|
||||
} else if (wp == w->last)
|
||||
w->last = NULL;
|
||||
layout_close_pane(wp);
|
||||
|
||||
w = wp->window = window_create1(s->sx, s->sy);
|
||||
|
Loading…
Reference in New Issue
Block a user