Handle pan correctly when the terminal is bigger than the window.

This commit is contained in:
Nicholas Marriott 2018-10-18 09:24:15 +01:00
parent f54f171d5c
commit 2dfdb55ace

8
tty.c
View File

@ -746,10 +746,14 @@ tty_window_offset1(struct tty *tty, u_int *ox, u_int *oy, u_int *sx, u_int *sy)
*sy = tty->sy - lines; *sy = tty->sy - lines;
if (c->pan_window == w) { if (c->pan_window == w) {
if (c->pan_ox + *sx > w->sx) if (*sx >= w->sx)
c->pan_ox = 0;
else if (c->pan_ox + *sx > w->sx)
c->pan_ox = w->sx - *sx; c->pan_ox = w->sx - *sx;
*ox = c->pan_ox; *ox = c->pan_ox;
if (c->pan_oy + *sy > w->sy) if (*sy >= w->sy)
c->pan_oy = 0;
else if (c->pan_oy + *sy > w->sy)
c->pan_oy = w->sy - *sy; c->pan_oy = w->sy - *sy;
*oy = c->pan_oy; *oy = c->pan_oy;
return (1); return (1);