summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@cvs.openbsd.org>2012-09-05 09:59:42 +0000
committerNicholas Marriott <nicm@cvs.openbsd.org>2012-09-05 09:59:42 +0000
commitaeb45f7a46435268071df4d813b20c62074738a4 (patch)
tree1c3a405279fcd414a28cd59b0c13d31f36bb726c
parent8de328080d7d30222c7db7dbb1d701b904f5e08d (diff)
We can't tell what the terminal has done with a DCS string, so reset the
cursor and attributes afterwards.
-rw-r--r--usr.bin/tmux/tty.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.bin/tmux/tty.c b/usr.bin/tmux/tty.c
index e4ec7c899aa..4905f02203b 100644
--- a/usr.bin/tmux/tty.c
+++ b/usr.bin/tmux/tty.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tty.c,v 1.140 2012/09/03 15:47:40 nicm Exp $ */
+/* $OpenBSD: tty.c,v 1.141 2012/09/05 09:59:41 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -1046,6 +1046,12 @@ tty_cmd_rawstring(struct tty *tty, const struct tty_ctx *ctx)
for (i = 0; i < ctx->num; i++)
tty_putc(tty, str[i]);
+
+ tty->cx = tty->cy = UINT_MAX;
+ tty->rupper = tty->rlower = UINT_MAX;
+
+ tty_reset(tty);
+ tty_cursor(tty, 0, 0);
}
void