aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--screen-write.c4
-rw-r--r--tty.c8
2 files changed, 8 insertions, 4 deletions
diff --git a/screen-write.c b/screen-write.c
index 14cbd4d5..6631ab56 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -943,9 +943,9 @@ screen_write_clearstartofscreen(struct screen_write_ctx *ctx, u_int bg)
if (s->cy > 0)
grid_view_clear(s->grid, 0, 0, sx, s->cy, bg);
if (s->cx > sx - 1)
- grid_view_clear(s->grid, 0, s->cy, sx, 1, 8);
+ grid_view_clear(s->grid, 0, s->cy, sx, 1, bg);
else
- grid_view_clear(s->grid, 0, s->cy, s->cx + 1, 1, 8);
+ grid_view_clear(s->grid, 0, s->cy, s->cx + 1, 1, bg);
screen_write_collect_clear(ctx, 0, s->cy);
screen_write_collect_flush(ctx, 0);
diff --git a/tty.c b/tty.c
index 5fb56148..18e4c3d2 100644
--- a/tty.c
+++ b/tty.c
@@ -846,9 +846,13 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp,
tty_region_off(tty);
tty_margin_off(tty);
+ /*
+ * Clamp the width to cellsize - note this is not cellused, because
+ * there may be empty background cells after it (from BCE).
+ */
sx = screen_size_x(s);
- if (sx > s->grid->linedata[s->grid->hsize + py].cellused)
- sx = s->grid->linedata[s->grid->hsize + py].cellused;
+ if (sx > s->grid->linedata[s->grid->hsize + py].cellsize)
+ sx = s->grid->linedata[s->grid->hsize + py].cellsize;
if (sx > tty->sx)
sx = tty->sx;