diff options
author | Thomas Adam <thomas@xteddy.org> | 2020-04-18 00:01:30 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2020-04-18 00:01:30 +0100 |
commit | 87d79e6d367f725d831cf04357e6a354908ad551 (patch) | |
tree | e540c3321b4811d5537c68a8080ebb1393539626 /server-client.c | |
parent | 857fca1095861b254f9585a7ddc4404a8b722e8a (diff) | |
parent | a7a9460d2790161f7bb60c4047acf32d3aa93ed9 (diff) | |
download | rtmux-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.c | 8 |
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); |