summaryrefslogtreecommitdiffstats
path: root/server-client.c
diff options
context:
space:
mode:
authornicm <nicm>2016-10-09 16:24:34 +0000
committernicm <nicm>2016-10-09 16:24:34 +0000
commitb8f2dd8237dca568308e1c273f376191f55e880e (patch)
tree252abe5f2acf0c07cfdfd40514d8f6f3b5d01d6b /server-client.c
parent1db6d6fea6158d8d0d05e59497e40a5cfc40d068 (diff)
Make the CLIENT_STATUS flag imply that pane status lines are redrawn if
they are enabled and break the actual screen generation code into a separate function. Fixes problems reported by Romain Francoise.
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/server-client.c b/server-client.c
index a6ea7bc6..e87f9d0b 100644
--- a/server-client.c
+++ b/server-client.c
@@ -951,7 +951,7 @@ server_client_check_redraw(struct client *c)
struct session *s = c->session;
struct tty *tty = &c->tty;
struct window_pane *wp;
- int flags, masked, redraw;
+ int flags, masked;
if (c->flags & (CLIENT_CONTROL|CLIENT_SUSPENDED))
return;
@@ -959,15 +959,7 @@ server_client_check_redraw(struct client *c)
if (c->flags & (CLIENT_REDRAW|CLIENT_STATUS)) {
if (options_get_number(s->options, "set-titles"))
server_client_set_title(c);
-
- if (c->message_string != NULL)
- redraw = status_message_redraw(c);
- else if (c->prompt_string != NULL)
- redraw = status_prompt_redraw(c);
- else
- redraw = status_redraw(c);
- if (!redraw)
- c->flags &= ~CLIENT_STATUS;
+ screen_redraw_update(c); /* will adjust flags */
}
flags = tty->flags & (TTY_FREEZE|TTY_NOCURSOR);