mirror of
https://github.com/tmux/tmux.git
synced 2025-04-14 07:18:49 +00:00
Do not move the cursor to the existing y position if it is invalid, go
home instead.
This commit is contained in:
parent
bbd6e899a8
commit
a877a5d8c9
13
tty.c
13
tty.c
@ -1739,7 +1739,10 @@ tty_cmd_scrollup(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
for (i = 0; i < ctx->num; i++)
|
for (i = 0; i < ctx->num; i++)
|
||||||
tty_putc(tty, '\n');
|
tty_putc(tty, '\n');
|
||||||
} else {
|
} else {
|
||||||
tty_cursor(tty, 0, tty->cy);
|
if (tty->cy == UINT_MAX)
|
||||||
|
tty_cursor(tty, 0, 0);
|
||||||
|
else
|
||||||
|
tty_cursor(tty, 0, tty->cy);
|
||||||
tty_putcode1(tty, TTYC_INDN, ctx->num);
|
tty_putcode1(tty, TTYC_INDN, ctx->num);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2063,8 +2066,12 @@ tty_region(struct tty *tty, u_int rupper, u_int rlower)
|
|||||||
* flag so further output causes a line feed). As a workaround, do an
|
* flag so further output causes a line feed). As a workaround, do an
|
||||||
* explicit move to 0 first.
|
* explicit move to 0 first.
|
||||||
*/
|
*/
|
||||||
if (tty->cx >= tty->sx)
|
if (tty->cx >= tty->sx) {
|
||||||
tty_cursor(tty, 0, tty->cy);
|
if (tty->cy == UINT_MAX)
|
||||||
|
tty_cursor(tty, 0, 0);
|
||||||
|
else
|
||||||
|
tty_cursor(tty, 0, tty->cy);
|
||||||
|
}
|
||||||
|
|
||||||
tty_putcode2(tty, TTYC_CSR, tty->rupper, tty->rlower);
|
tty_putcode2(tty, TTYC_CSR, tty->rupper, tty->rlower);
|
||||||
tty->cx = tty->cy = UINT_MAX;
|
tty->cx = tty->cy = UINT_MAX;
|
||||||
|
Loading…
Reference in New Issue
Block a user