summaryrefslogtreecommitdiffstats
path: root/server.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2008-06-20 06:36:01 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2008-06-20 06:36:01 +0000
commit17fde823a88897e375735065a05fa1f8943df0bc (patch)
tree8fff3d30d056e15fda1cd38d196e1e267a941ded /server.c
parent89ea06e0a17dc5ceefc339a1571065e66523a9a1 (diff)
Freeze output when showing display line, fixes problems when no status line.
Diffstat (limited to 'server.c')
-rw-r--r--server.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/server.c b/server.c
index 75727904..d7e218f8 100644
--- a/server.c
+++ b/server.c
@@ -1,4 +1,4 @@
-/* $Id: server.c,v 1.72 2008-06-19 23:24:40 nicm Exp $ */
+/* $Id: server.c,v 1.73 2008-06-20 06:36:01 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -304,11 +304,15 @@ server_check_redraw(struct client *c)
struct screen screen;
u_int xx, yy, sx, sy;
char title[BUFSIZ];
+ int flags;
if (c == NULL || c->session == NULL)
return;
s = c->session;
+ flags = c->tty.flags & TTY_FREEZE;
+ c->tty.flags &= ~TTY_FREEZE;
+
if (options_get_number(&s->options, "set-titles")) {
xsnprintf(title, sizeof title,
"%s:%u:%s - \"%s\"", s->name, s->curw->idx,
@@ -363,6 +367,8 @@ server_check_redraw(struct client *c)
status_redraw(c);
}
+ c->tty.flags |= flags;
+
c->flags &= ~(CLIENT_REDRAW|CLIENT_STATUS);
}