diff options
-rw-r--r-- | layout.c | 1 | ||||
-rw-r--r-- | window.c | 5 |
2 files changed, 4 insertions, 2 deletions
@@ -53,6 +53,7 @@ layout_create_cell(struct layout_cell *lcparent) lc->yoff = UINT_MAX; lc->wp = NULL; + lc->lastwp = NULL; return (lc); } @@ -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); } |