tty_clear_area should not work out popup ranges because tty_clear_line is going

to do it anyway.
This commit is contained in:
Nicholas Marriott
2026-05-24 12:07:42 +01:00
parent 724d6d7c95
commit 43ae6e0a6b
2 changed files with 5 additions and 14 deletions

View File

@@ -1499,7 +1499,7 @@ screen_redraw_draw_scrollbar(struct screen_redraw_ctx *ctx,
for (j = jmin; j < jmax; j++) {
wy = sb_y + j; /* window y coordinate */
py = sb_tty_y + j;/* tty y coordinate */
py = sb_tty_y + j; /* tty y coordinate */
r = tty_check_overlay_range(tty, sb_x, wy, imax);
r = screen_redraw_get_visible_ranges(wp, sb_x, wy, imax, r);
for (i = imin; i < imax; i++) {

13
tty.c
View File

@@ -1394,17 +1394,8 @@ tty_clear_area(struct tty *tty, const struct tty_ctx *ctx, u_int py,
}
/* Couldn't use an escape sequence, loop over the lines. */
if (c->session->statusat == 0)
oy = c->session->statuslines;
for (yy = py; yy < py + ny; yy++) {
r = tty_check_overlay_range(tty, px, yy - oy, nx);
for (i = 0; i < r->used; i++) {
ri = &r->ranges[i];
if (ri->nx == 0)
continue;
tty_clear_line(tty, defaults, yy, ri->px, ri->nx, bg);
}
}
for (yy = py; yy < py + ny; yy++)
tty_clear_line(tty, defaults, yy, px, nx, bg);
}
/* Clear an area in a pane. */