summaryrefslogtreecommitdiff
path: root/usr.bin/tmux/screen-redraw.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@cvs.openbsd.org>2020-04-18 07:32:55 +0000
committerNicholas Marriott <nicm@cvs.openbsd.org>2020-04-18 07:32:55 +0000
commitdd625be286f3aaff509d0cdf676e5c3918f77cf3 (patch)
treea18b079a919776f64f86e4908377f9c96e900c39 /usr.bin/tmux/screen-redraw.c
parentfdf9a251ddcf35d17f7645b3810e5412671ab33c (diff)
Bring back previons fix to only redraw panes that need it after a redraw
is deferred, but clear the pane flags when they are actually redrawn rather than every time.
Diffstat (limited to 'usr.bin/tmux/screen-redraw.c')
-rw-r--r--usr.bin/tmux/screen-redraw.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.bin/tmux/screen-redraw.c b/usr.bin/tmux/screen-redraw.c
index f688f1786ba..110e5146f0c 100644
--- a/usr.bin/tmux/screen-redraw.c
+++ b/usr.bin/tmux/screen-redraw.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: screen-redraw.c,v 1.70 2020/04/18 06:20:50 nicm Exp $ */
+/* $OpenBSD: screen-redraw.c,v 1.71 2020/04/18 07:32:53 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -474,6 +474,7 @@ screen_redraw_pane(struct client *c, struct window_pane *wp)
tty_sync_start(&c->tty);
screen_redraw_draw_pane(&ctx, wp);
+ wp->flags &= ~PANE_REDRAW;
tty_reset(&c->tty);
tty_sync_end(&c->tty);
@@ -563,6 +564,7 @@ screen_redraw_draw_panes(struct screen_redraw_ctx *ctx)
TAILQ_FOREACH(wp, &w->panes, entry) {
if (window_pane_visible(wp))
screen_redraw_draw_pane(ctx, wp);
+ wp->flags &= ~PANE_REDRAW;
}
}