If a pane is outside the window, treat as obscured.

This commit is contained in:
Nicholas Marriott
2026-05-26 12:48:16 +01:00
parent d89a4ab3df
commit f9bd5eb79e

View File

@@ -191,7 +191,15 @@ screen_write_pane_is_obscured(struct screen_write_ctx *ctx)
}
ctx->flags |= SCREEN_WRITE_CHECKED_IF_OBSCURED;
while ((wp = TAILQ_PREV(wp, window_panes, zentry)) != NULL) {
if (ctx->wp->xoff < 0 ||
ctx->wp->yoff < 0 ||
ctx->wp->xoff + ctx->wp->sx >= ctx->wp->window->sx ||
ctx->wp->yoff + ctx->wp->sy >= ctx->wp->window->sy) {
ctx->flags |= SCREEN_WRITE_OBSCURED;
return (1);
}
while ((wp = TAILQ_PREV(wp, window_panes, zentry)) != NULL) {
if ((wp->flags & PANE_FLOATING) &&
((wp->yoff >= ctx->wp->yoff &&
wp->yoff <= ctx->wp->yoff + (int)ctx->wp->sy) ||