aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2020-04-18 00:01:30 +0100
committerThomas Adam <thomas@xteddy.org>2020-04-18 00:01:30 +0100
commit87d79e6d367f725d831cf04357e6a354908ad551 (patch)
treee540c3321b4811d5537c68a8080ebb1393539626 /server-client.c
parent857fca1095861b254f9585a7ddc4404a8b722e8a (diff)
parenta7a9460d2790161f7bb60c4047acf32d3aa93ed9 (diff)
downloadrtmux-87d79e6d367f725d831cf04357e6a354908ad551.tar.gz
rtmux-87d79e6d367f725d831cf04357e6a354908ad551.tar.bz2
rtmux-87d79e6d367f725d831cf04357e6a354908ad551.zip
Merge branch 'obsd-master'
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/server-client.c b/server-client.c
index 7360f153..214e828f 100644
--- a/server-client.c
+++ b/server-client.c
@@ -1679,7 +1679,7 @@ server_client_check_redraw(struct client *c)
struct session *s = c->session;
struct tty *tty = &c->tty;
struct window_pane *wp;
- int needed, flags;
+ int needed, flags, mode = tty->mode;
struct timeval tv = { .tv_usec = 1000 };
static struct event ev;
size_t left;
@@ -1730,6 +1730,7 @@ server_client_check_redraw(struct client *c)
flags = tty->flags & (TTY_BLOCK|TTY_FREEZE|TTY_NOCURSOR);
tty->flags = (tty->flags & ~(TTY_BLOCK|TTY_FREEZE)) | TTY_NOCURSOR;
+ tty_update_mode(tty, mode, NULL);
if (~c->flags & CLIENT_REDRAWWINDOW) {
/*
@@ -1750,8 +1751,9 @@ server_client_check_redraw(struct client *c)
screen_redraw_screen(c);
}
- tty->flags = (tty->flags & ~(TTY_FREEZE|TTY_NOCURSOR)) | flags;
- tty_update_mode(tty, tty->mode, NULL);
+ tty->flags = (tty->flags & ~TTY_NOCURSOR) | (flags & TTY_NOCURSOR);
+ tty_update_mode(tty, mode, NULL);
+ tty->flags = (tty->flags & ~(TTY_BLOCK|TTY_FREEZE|TTY_NOCURSOR)) | flags;
c->flags &= ~(CLIENT_ALLREDRAWFLAGS|CLIENT_STATUSFORCE);