summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/window.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2019-09-10 19:35:34 +0000
committernicm <nicm@openbsd.org>2019-09-10 19:35:34 +0000
commitb51cd9caf4e620f6277c0a230eb542a2b3d83b0b (patch)
treeb4abcfdb2b9e30ebc193622cb6e9d29e03d2140e /usr.bin/tmux/window.c
parentdo not use tree_xget() between filters resume as a session may legitimately (diff)
downloadwireguard-openbsd-b51cd9caf4e620f6277c0a230eb542a2b3d83b0b.tar.xz
wireguard-openbsd-b51cd9caf4e620f6277c0a230eb542a2b3d83b0b.zip
Make client exit if pane where input is going is closed.
Diffstat (limited to 'usr.bin/tmux/window.c')
-rw-r--r--usr.bin/tmux/window.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr.bin/tmux/window.c b/usr.bin/tmux/window.c
index 3449d0378ae..f124f6396cb 100644
--- a/usr.bin/tmux/window.c
+++ b/usr.bin/tmux/window.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: window.c,v 1.242 2019/08/28 07:34:32 nicm Exp $ */
+/* $OpenBSD: window.c,v 1.243 2019/09/10 19:35:34 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -1572,6 +1572,10 @@ window_pane_input_callback(struct client *c, int closed, void *data)
wp = window_pane_find_by_id(cdata->wp);
if (wp == NULL || closed || c->flags & CLIENT_DEAD) {
+ if (wp == NULL)
+ c->flags |= CLIENT_EXIT;
+ evbuffer_drain(evb, len);
+
c->stdin_callback = NULL;
server_client_unref(c);