summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/server-client.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2020-04-20 06:07:39 +0000
committernicm <nicm@openbsd.org>2020-04-20 06:07:39 +0000
commite1ccf0ee8b77e2c041de674c0924f374e678ee43 (patch)
tree0c75a7b43c374e0072e8d965cbdc6194439875b9 /usr.bin/tmux/server-client.c
parentregression test for printing of private key fingerprints and key (diff)
downloadwireguard-openbsd-e1ccf0ee8b77e2c041de674c0924f374e678ee43.tar.xz
wireguard-openbsd-e1ccf0ee8b77e2c041de674c0924f374e678ee43.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 'usr.bin/tmux/server-client.c')
-rw-r--r--usr.bin/tmux/server-client.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/usr.bin/tmux/server-client.c b/usr.bin/tmux/server-client.c
index af2ef1a6780..38a3480f808 100644
--- a/usr.bin/tmux/server-client.c
+++ b/usr.bin/tmux/server-client.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: server-client.c,v 1.326 2020/04/18 21:35:32 nicm Exp $ */
+/* $OpenBSD: server-client.c,v 1.327 2020/04/20 06:07:39 nicm Exp $ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -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;