From d738d5168804405240a3f36b6f410baee39cd9e0 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 18 Mar 2019 15:25:36 +0000 Subject: [PATCH] Mode init needs to be fired with the mode on the list or it will not be resized correctly. --- grid.c | 7 +++---- window.c | 7 ++++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/grid.c b/grid.c index 2ca4e6c5..c63287bd 100644 --- a/grid.c +++ b/grid.c @@ -481,11 +481,10 @@ void grid_get_cell(struct grid *gd, u_int px, u_int py, struct grid_cell *gc) { if (grid_check_y(gd, __func__, py) != 0 || - px >= gd->linedata[py].cellsize) { + px >= gd->linedata[py].cellsize) memcpy(gc, &grid_default_cell, sizeof *gc); - return; - } - return (grid_get_cell1(&gd->linedata[py], px, gc)); + else + grid_get_cell1(&gd->linedata[py], px, gc); } /* Set cell at relative position. */ diff --git a/window.c b/window.c index a5c68ece..a74d01d7 100644 --- a/window.c +++ b/window.c @@ -1247,16 +1247,17 @@ window_pane_set_mode(struct window_pane *wp, const struct window_mode *mode, if (wme->mode == mode) break; } - if (wme != NULL) + if (wme != NULL) { TAILQ_REMOVE(&wp->modes, wme, entry); - else { + TAILQ_INSERT_HEAD(&wp->modes, wme, entry); + } else { wme = xcalloc(1, sizeof *wme); wme->wp = wp; wme->mode = mode; wme->prefix = 1; + TAILQ_INSERT_HEAD(&wp->modes, wme, entry); wme->screen = wme->mode->init(wme, fs, args); } - TAILQ_INSERT_HEAD(&wp->modes, wme, entry); wp->screen = wme->screen; wp->flags |= (PANE_REDRAW|PANE_CHANGED);