From f67cf7d05303ec7784822df2023a0c387769a595 Mon Sep 17 00:00:00 2001 From: Michael Grant Date: Thu, 29 Jan 2026 11:46:21 +0000 Subject: [PATCH] Return static range as last resort. --- screen-redraw.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/screen-redraw.c b/screen-redraw.c index decdb272..25857be8 100644 --- a/screen-redraw.c +++ b/screen-redraw.c @@ -1137,10 +1137,23 @@ screen_redraw_get_visible_ranges(struct window_pane *base_wp, u_int px, struct window_pane *wp; struct window *w; struct visible_range *ri; + static struct visible_range sr0 = { 0, 0 }; + static struct visible_ranges sr = { &sr0, 1, 1 }; int found_self, sb_w, sb_pos; u_int lb, rb, tb, bb; u_int i, s; + if (base_wp == NULL) { + if (r != NULL) { + return (r); + } else { + /* Return static range as last resort. */ + sr.ranges[0].px = px; + sr.ranges[0].nx = width; + return (&sr); + } + } + if (r == NULL) { server_client_ensure_ranges(&base_wp->r, 1); r = &base_wp->r; @@ -1151,9 +1164,6 @@ screen_redraw_get_visible_ranges(struct window_pane *base_wp, u_int px, r->used = 1; } - if (base_wp == NULL) - return (r); - w = base_wp->window; sb_pos = options_get_number(w->options, "pane-scrollbars-position");