aboutsummaryrefslogtreecommitdiff
path: root/screen-redraw.c
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2011-07-08 22:58:30 +0000
committerTiago Cunha <tcunha@gmx.com>2011-07-08 22:58:30 +0000
commit67e70770c8c29df3e92634132401739531f94ff9 (patch)
tree8762c3c90ee004bbcf0f8b72dfdff29c5d0b75c2 /screen-redraw.c
parentbcacbb1a895063a9681f3a3fac9c4fe284f9fc86 (diff)
downloadrtmux-67e70770c8c29df3e92634132401739531f94ff9.tar.gz
rtmux-67e70770c8c29df3e92634132401739531f94ff9.tar.bz2
rtmux-67e70770c8c29df3e92634132401739531f94ff9.zip
Sync OpenBSD patchset 936:
Do not continue to send data to suspended/locked clients or there will be a huge rush of it after they are resumed/unlocked. The main output path was fine but status line updates and the terminal state reset code were missed.
Diffstat (limited to 'screen-redraw.c')
-rw-r--r--screen-redraw.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/screen-redraw.c b/screen-redraw.c
index 686d805a..a12fa365 100644
--- a/screen-redraw.c
+++ b/screen-redraw.c
@@ -1,4 +1,4 @@
-/* $Id: screen-redraw.c,v 1.53 2010-09-18 15:43:53 tcunha Exp $ */
+/* $Id$ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -176,6 +176,10 @@ screen_redraw_screen(struct client *c, int status_only, int borders_only)
u_int i, j, type;
int status, fg, bg;
+ /* Suspended clients should not be updated. */
+ if (c->flags & CLIENT_SUSPENDED)
+ return;
+
/* Get status line, er, status. */
if (c->message_string != NULL || c->prompt_string != NULL)
status = 1;