summaryrefslogtreecommitdiffstats
path: root/window.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2021-10-07 10:01:10 +0100
committerThomas Adam <thomas@xteddy.org>2021-10-07 10:01:10 +0100
commitfed7b29c7e4995eb60ad765c4ff9439f68261c83 (patch)
treeb27293999c7df89ed14984abe9e532b6b4e135f4 /window.c
parent537441742836b4366c47ad60c19e04463bfd02e3 (diff)
parent5f63181ed5a9d409fcb0955217fbe4c1a40dd9ff (diff)
Merge branch 'obsd-master' into master
Diffstat (limited to 'window.c')
-rw-r--r--window.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/window.c b/window.c
index ec9644bc..d3e3f60f 100644
--- a/window.c
+++ b/window.c
@@ -1537,7 +1537,7 @@ window_pane_input_callback(struct client *c, __unused const char *path,
size_t len = EVBUFFER_LENGTH(buffer);
wp = window_pane_find_by_id(cdata->wp);
- if (wp == NULL || closed || error != 0 || c->flags & CLIENT_DEAD) {
+ if (wp == NULL || closed || error != 0 || (c->flags & CLIENT_DEAD)) {
if (wp == NULL)
c->flags |= CLIENT_EXIT;
@@ -1563,6 +1563,10 @@ window_pane_start_input(struct window_pane *wp, struct cmdq_item *item,
*cause = xstrdup("pane is not empty");
return (-1);
}
+ if (c->flags & (CLIENT_DEAD|CLIENT_EXITED))
+ return (1);
+ if (c->session != NULL)
+ return (1);
cdata = xmalloc(sizeof *cdata);
cdata->item = item;