diff options
author | nicm <nicm> | 2020-04-20 06:07:39 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-04-20 06:07:39 +0000 |
commit | 4bc0a83d51624911195fb4b033f51aa7bca43e54 (patch) | |
tree | d783c1a1c89e0385bf3e41a7f520cab8c1d3b808 /server-client.c | |
parent | 62ff5e4b010a9db695c79593d20ac92b0aed9558 (diff) | |
download | rtmux-4bc0a83d51624911195fb4b033f51aa7bca43e54.tar.gz rtmux-4bc0a83d51624911195fb4b033f51aa7bca43e54.tar.bz2 rtmux-4bc0a83d51624911195fb4b033f51aa7bca43e54.zip |
Need to check for pane redrawing even if just the window flag is set
(the pane flag may not have been previously set to avoid looping the
windows).
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/server-client.c b/server-client.c index 6eda2b45..18f44ff9 100644 --- a/server-client.c +++ b/server-client.c @@ -1726,11 +1726,15 @@ server_client_check_redraw(struct client *c) log_debug("redraw timer started"); evtimer_add(&ev, &tv); } - if (new_flags & CLIENT_REDRAWPANES) { + + if (~c->flags & CLIENT_REDRAWWINDOW) { c->redraw_panes = 0; TAILQ_FOREACH(wp, &w->panes, entry) { - if (wp->flags & PANE_REDRAW) + if (wp->flags & PANE_REDRAW) { + log_debug("%s: pane %%%u needs redraw", + c->name, wp->id); c->redraw_panes |= (1 << bit); + } if (++bit == 64) { /* * If more that 64 panes, give up and @@ -1741,6 +1745,8 @@ server_client_check_redraw(struct client *c) break; } } + if (c->redraw_panes != 0) + c->flags |= CLIENT_REDRAWPANES; } c->flags |= new_flags; return; |