summaryrefslogtreecommitdiff
path: root/usr.bin/tmux/screen-write.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@cvs.openbsd.org>2023-03-27 08:31:33 +0000
committerNicholas Marriott <nicm@cvs.openbsd.org>2023-03-27 08:31:33 +0000
commit53b667ca58b6b603dcbecd34f3d292f817be4297 (patch)
treeee49d0388bd5b8efbed5aa6954f1a3ab393324f6 /usr.bin/tmux/screen-write.c
parentfa107de3fb39afb29918ab6f9f8d2f136f559098 (diff)
For passthrough, don't write to clients attached to different sessions,
based on a fix from Sergei Grechanik.
Diffstat (limited to 'usr.bin/tmux/screen-write.c')
-rw-r--r--usr.bin/tmux/screen-write.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.bin/tmux/screen-write.c b/usr.bin/tmux/screen-write.c
index 945f4545898..c76adbe2da2 100644
--- a/usr.bin/tmux/screen-write.c
+++ b/usr.bin/tmux/screen-write.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: screen-write.c,v 1.213 2023/02/10 14:01:43 nicm Exp $ */
+/* $OpenBSD: screen-write.c,v 1.214 2023/03/27 08:31:32 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -132,6 +132,12 @@ screen_write_set_client_cb(struct tty_ctx *ttyctx, struct client *c)
{
struct window_pane *wp = ttyctx->arg;
+ if (ttyctx->allow_invisible_panes) {
+ if (session_has(c->session, wp->window))
+ return (1);
+ return (0);
+ }
+
if (c->session->curw->window != wp->window)
return (0);
if (wp->layout_cell == NULL)