aboutsummaryrefslogtreecommitdiff
path: root/tty.c
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2012-03-18 01:57:01 +0000
committerTiago Cunha <tcunha@gmx.com>2012-03-18 01:57:01 +0000
commit21ab66569cb426e38e150fa79eeeed7cf57f2f01 (patch)
treecb9d00acdad1bf948836c3630642bf8c54639d81 /tty.c
parent070d266aae6dd309d3fb9c4fab7d30f0fbc88854 (diff)
downloadrtmux-21ab66569cb426e38e150fa79eeeed7cf57f2f01.tar.gz
rtmux-21ab66569cb426e38e150fa79eeeed7cf57f2f01.tar.bz2
rtmux-21ab66569cb426e38e150fa79eeeed7cf57f2f01.zip
Sync OpenBSD patchset 1055:
Revert screen-write.c r1.54 and fix the bug properly. After wrapping a line in a pane, the cursor needs to move to the next line unless it scrolled.
Diffstat (limited to 'tty.c')
-rw-r--r--tty.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/tty.c b/tty.c
index 958d8cae..65bfe6c8 100644
--- a/tty.c
+++ b/tty.c
@@ -1000,7 +1000,10 @@ tty_cmd_cell(struct tty *tty, const struct tty_ctx *ctx)
* The pane doesn't fill the entire line, the linefeed
* will already have happened, so just move the cursor.
*/
- tty_cursor_pane(tty, ctx, 0, ctx->ocy + 1);
+ if (ctx->ocy != wp->yoff + wp->sy)
+ tty_cursor_pane(tty, ctx, 0, ctx->ocy + 1);
+ else
+ tty_cursor_pane(tty, ctx, 0, ctx->ocy);
} else if (tty->cx < tty->sx) {
/*
* The cursor isn't in the last position already, so