summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicm <nicm>2019-03-18 15:25:36 +0000
committernicm <nicm>2019-03-18 15:25:36 +0000
commitd738d5168804405240a3f36b6f410baee39cd9e0 (patch)
treec7459e790d1efb2a82a4078ad2b16af08e7d0399
parent2628af573d98f7bdd4db02c7a80c860b867a45fb (diff)
Mode init needs to be fired with the mode on the list or it will not be
resized correctly.
-rw-r--r--grid.c7
-rw-r--r--window.c7
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);