aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--layout.c1
-rw-r--r--window.c5
2 files changed, 4 insertions, 2 deletions
diff --git a/layout.c b/layout.c
index b91b86cd..1c76f986 100644
--- a/layout.c
+++ b/layout.c
@@ -53,6 +53,7 @@ layout_create_cell(struct layout_cell *lcparent)
lc->yoff = UINT_MAX;
lc->wp = NULL;
+ lc->lastwp = NULL;
return (lc);
}
diff --git a/window.c b/window.c
index 1e11cace..842a5c63 100644
--- a/window.c
+++ b/window.c
@@ -410,8 +410,9 @@ window_pane_active_set(struct window_pane *wp, struct window_pane *nextwp)
* Previously active pane, if any, must not be the same as the source
* pane.
*/
- if (nextwp->layout_cell->parent != NULL) {
- lastwp = nextwp->layout_cell->parent->lastwp;
+ lc = nextwp->layout_cell->parent;
+ if (lc != NULL && lc->lastwp != NULL) {
+ lastwp = lc->lastwp;
if (lastwp != wp && window_pane_visible(lastwp))
return (lastwp);
}