diff options
author | Thomas Adam <thomas@xteddy.org> | 2019-05-08 21:02:25 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2019-05-08 21:02:25 +0100 |
commit | 4bc45fc95aa1a7af5bf97b4c1f66ccbc70790c31 (patch) | |
tree | e7b208da1146e64e5f91d978375478d0f3fb792b /server-client.c | |
parent | b24d7d9c95c2083f14715f95a5a96fcb5204eca0 (diff) | |
parent | f9682d2e558c58117f23f302ce35d9b319151189 (diff) | |
download | rtmux-4bc45fc95aa1a7af5bf97b4c1f66ccbc70790c31.tar.gz rtmux-4bc45fc95aa1a7af5bf97b4c1f66ccbc70790c31.tar.bz2 rtmux-4bc45fc95aa1a7af5bf97b4c1f66ccbc70790c31.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/server-client.c b/server-client.c index 82a1a290..fdc40d8d 100644 --- a/server-client.c +++ b/server-client.c @@ -77,6 +77,9 @@ server_client_set_overlay(struct client *c, u_int delay, overlay_draw_cb drawcb, { struct timeval tv; + if (c->overlay_draw != NULL) + server_client_clear_overlay(c); + tv.tv_sec = delay / 1000; tv.tv_usec = (delay % 1000) * 1000L; @@ -1443,6 +1446,8 @@ server_client_reset_state(struct client *c) if (c->flags & (CLIENT_CONTROL|CLIENT_SUSPENDED)) return; + if (c->overlay_draw != NULL) + return; mode = s->mode; tty_region_off(&c->tty); @@ -1553,10 +1558,11 @@ server_client_check_redraw(struct client *c) if (c->flags & (CLIENT_CONTROL|CLIENT_SUSPENDED)) return; if (c->flags & CLIENT_ALLREDRAWFLAGS) { - log_debug("%s: redraw%s%s%s", c->name, + log_debug("%s: redraw%s%s%s%s", c->name, (c->flags & CLIENT_REDRAWWINDOW) ? " window" : "", (c->flags & CLIENT_REDRAWSTATUS) ? " status" : "", - (c->flags & CLIENT_REDRAWBORDERS) ? " borders" : ""); + (c->flags & CLIENT_REDRAWBORDERS) ? " borders" : "", + (c->flags & CLIENT_REDRAWOVERLAY) ? " overlay" : ""); } /* @@ -1712,6 +1718,7 @@ server_client_dispatch(struct imsg *imsg, void *arg) if (c->flags & CLIENT_CONTROL) break; + server_client_clear_overlay(c); tty_resize(&c->tty); recalculate_sizes(); server_redraw_client(c); |