diff options
author | nicm <nicm> | 2014-02-22 18:01:10 +0000 |
---|---|---|
committer | nicm <nicm> | 2014-02-22 18:01:10 +0000 |
commit | 315d45a0eb596048f2513dab98e4bb47ec1852a4 (patch) | |
tree | 3147f055e9db3a95f6b0396865938054b70cdb0a | |
parent | c7f3599ebca82fcd1c2a00de234f90ac1f5f0ede (diff) |
Fix crash due to uninitialized lastwp member of layout_cell, reported by
Balazs Kezes.
-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); } |