mirror of
https://github.com/tmux/tmux.git
synced 2025-04-05 23:58:58 +00:00
Use absolute movement if right at the end of the line as it isn't a reliable
place to move from relatively.
This commit is contained in:
parent
687c4a9fab
commit
0aab5811ca
7
tty.c
7
tty.c
@ -945,14 +945,16 @@ tty_cursor(struct tty *tty, u_int cx, u_int cy)
|
||||
cx = tty->sx - 1;
|
||||
|
||||
thisx = tty->cx;
|
||||
if (thisx > tty->sx - 1)
|
||||
thisx = tty->sx - 1;
|
||||
thisy = tty->cy;
|
||||
|
||||
/* No change. */
|
||||
if (cx == thisx && cy == thisy)
|
||||
return;
|
||||
|
||||
/* Very end of the line, just use absolute movement. */
|
||||
if (thisx > tty->sx - 1)
|
||||
goto absolute;
|
||||
|
||||
/* Move to home position (0, 0). */
|
||||
if (cx == 0 && cy == 0 && tty_term_has(term, TTYC_HOME)) {
|
||||
tty_putcode(tty, TTYC_HOME);
|
||||
@ -1043,6 +1045,7 @@ tty_cursor(struct tty *tty, u_int cx, u_int cy)
|
||||
}
|
||||
}
|
||||
|
||||
absolute:
|
||||
/* Absolute movement. */
|
||||
tty_putcode2(tty, TTYC_CUP, cy, cx);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user