=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/server-client.c,v retrieving revision 1.349 retrieving revision 1.350 diff -u -r1.349 -r1.350 --- src/usr.bin/tmux/server-client.c 2020/05/24 09:40:17 1.349 +++ src/usr.bin/tmux/server-client.c 2020/05/24 14:45:00 1.350 @@ -1,4 +1,4 @@ -/* $OpenBSD: server-client.c,v 1.349 2020/05/24 09:40:17 nicm Exp $ */ +/* $OpenBSD: server-client.c,v 1.350 2020/05/24 14:45:00 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott @@ -301,7 +301,6 @@ RB_REMOVE(client_windows, &c->windows, cw); free(cw); } - control_free_offsets(c); TAILQ_REMOVE(&clients, c, entry); log_debug("lost client %p", c); @@ -2344,15 +2343,18 @@ if (not) next++; - if (strcmp(next, "no-output") == 0) - flag = CLIENT_CONTROL_NOOUTPUT; - else if (strcmp(next, "read-only") == 0) + flag = 0; + if (c->flags & CLIENT_CONTROL) { + if (strcmp(next, "no-output") == 0) + flag = CLIENT_CONTROL_NOOUTPUT; + } + if (strcmp(next, "read-only") == 0) flag = CLIENT_READONLY; else if (strcmp(next, "ignore-size") == 0) flag = CLIENT_IGNORESIZE; else if (strcmp(next, "active-pane") == 0) flag = CLIENT_ACTIVEPANE; - else + if (flag == 0) continue; log_debug("client %s set flag %s", c->name, next);