aboutsummaryrefslogtreecommitdiff
path: root/server-window.c
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2010-02-26 13:26:44 +0000
committerTiago Cunha <tcunha@gmx.com>2010-02-26 13:26:44 +0000
commitecac081a555b6513b91c5e0b8c93fa753e41becf (patch)
tree87394a38f2586e7c88e495f6fbbebf1fef308b4b /server-window.c
parentb4c2710bf7e155586592e95f600e98cd8518f098 (diff)
downloadrtmux-ecac081a555b6513b91c5e0b8c93fa753e41becf.tar.gz
rtmux-ecac081a555b6513b91c5e0b8c93fa753e41becf.tar.bz2
rtmux-ecac081a555b6513b91c5e0b8c93fa753e41becf.zip
Sync OpenBSD patchset 648:
copy mode uses the real screen as backing and if it is updated while copying, strange things can happen. So, freeze reading from the pty while in copy mode.
Diffstat (limited to 'server-window.c')
-rw-r--r--server-window.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/server-window.c b/server-window.c
index 88002a3a..2a933cc3 100644
--- a/server-window.c
+++ b/server-window.c
@@ -1,4 +1,4 @@
-/* $Id: server-window.c,v 1.13 2009-12-04 22:14:47 tcunha Exp $ */
+/* $Id: server-window.c,v 1.14 2010-02-26 13:26:44 tcunha Exp $ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -69,7 +69,9 @@ server_window_loop(void)
continue;
TAILQ_FOREACH(wp, &w->panes, entry) {
- if (wp->fd != -1) {
+ if (wp->fd == -1)
+ continue;
+ if (!(wp->flags & PANE_FREEZE)) {
if (server_window_backoff(wp))
bufferevent_disable(wp->event, EV_READ);
else