Merge branch 'floating_panes' into floating_panes_staging

This commit is contained in:
Nicholas Marriott
2026-05-27 22:22:52 +01:00
3 changed files with 12 additions and 10 deletions

View File

@@ -27,7 +27,7 @@ else
AM_CFLAGS += -O0
endif
if IS_DEBUG
AM_CFLAGS += -g
AM_CFLAGS += -g3 -ggdb
AM_CFLAGS += -Wno-long-long -Wall -W -Wformat=2 -Wno-use-after-free
AM_CFLAGS += -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations
AM_CFLAGS += -Wwrite-strings -Wshadow -Wpointer-arith -Wsign-compare

View File

@@ -1351,12 +1351,13 @@ screen_redraw_draw_pane(struct screen_redraw_ctx *ctx, struct window_pane *wp)
ri = &r->ranges[k];
if (ri->nx == 0)
continue;
log_debug("%s: %s %%%u range %u (%u,%u) width %u, tty (%u,%u) width %u",
log_debug("%s: %s %%%u range %u (%u,%u) width %u, "
"tty (%u,%u) width %u",
__func__, c->name, wp->id, k,
ri->px + (int)ctx->ox - wp->xoff, j, ri->nx,
ri->px, py, ri->nx);
tty_draw_line(tty, s, ri->px + (int)ctx->ox - wp->xoff, j, ri->nx,
ri->px, py, &defaults, palette);
tty_draw_line(tty, s, ri->px + (int)ctx->ox - wp->xoff,
j, ri->nx, ri->px, py, &defaults, palette);
}
}

View File

@@ -2697,18 +2697,19 @@ screen_write_combine(struct screen_write_ctx *ctx, const struct grid_cell *gc)
grid_view_set_padding(gd, cx - 1, cy);
/*
* Check if all of this character is visible. No character will
* be obscured in the middle, only on left or right, but there
* could be an empty range in the visible ranges so we add them all up.
* Check if all of this character is visible. No character will be
* obscured in the middle, only on left or right, but there could be an
* empty range in the visible ranges so we add them all up.
*/
if (wp != NULL)
yoff = wp->yoff;
r = screen_redraw_get_visible_ranges(wp, cx - n, cy + yoff, n, NULL);
for (i=0, vis=0; i < r->used; i++) vis += r->ranges[i].nx;
for (i = 0, vis = 0; i < r->used; i++)
vis += r->ranges[i].nx;
if (vis < n) {
/*
* Part of this character is obscured. Return 1
* and let screen_write_cell write a space.
* Part of this character is obscured. Return 1 and let
* screen_write_cell write a space.
*/
return (1);
}