From 1ba8fa6f04f0a0f54ffcfac4a534478a86deb8c7 Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 17 Jun 2026 12:32:54 +0000 Subject: [PATCH] Fix shifts to 1ULL and check scrollbar even if pane is not being redrawn. --- server-client.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/server-client.c b/server-client.c index 5972be61..6c014510 100644 --- a/server-client.c +++ b/server-client.c @@ -2087,11 +2087,11 @@ server_client_check_redraw(struct client *c) if (wp->flags & (PANE_REDRAW)) { log_debug("%s: pane %%%u needs redraw", c->name, wp->id); - c->redraw_panes |= (1 << bit); + c->redraw_panes |= (1ULL << bit); } else if (wp->flags & PANE_REDRAWSCROLLBAR) { log_debug("%s: pane %%%u scrollbar " "needs redraw", c->name, wp->id); - c->redraw_scrollbars |= (1 << bit); + c->redraw_scrollbars |= (1ULL << bit); } if (++bit == 64) { /* @@ -2128,12 +2128,13 @@ server_client_check_redraw(struct client *c) if (wp->flags & PANE_REDRAW) redraw_pane = 1; else if (c->flags & CLIENT_REDRAWPANES) { - if (c->redraw_panes & (1 << bit)) + if (c->redraw_panes & (1ULL << bit)) redraw_pane = 1; - } else if (c->flags & CLIENT_REDRAWSCROLLBARS) { - if (c->redraw_scrollbars & (1 << bit)) - redraw_scrollbar_only = 1; } + if (!redraw_pane && + (c->flags & CLIENT_REDRAWSCROLLBARS) && + (c->redraw_scrollbars & (1ULL << bit))) + redraw_scrollbar_only = 1; bit++; if (!redraw_pane && !redraw_scrollbar_only) continue;