_wnoutrefresh - fix current position checks for pads
maxy is an absolute value and should not be adjusted for begy when we check also absolute cury. Note that this change does not affect calculations for normal windows as for them we always pass zero for begy. Ditto for x.
This commit is contained in:
parent
182a153ef7
commit
aa9d3f22ec
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: refresh.c,v 1.103 2019/01/06 03:46:11 uwe Exp $ */
|
||||
/* $NetBSD: refresh.c,v 1.104 2019/01/06 03:59:17 uwe Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1981, 1993, 1994
|
||||
|
@ -34,7 +34,7 @@
|
|||
#if 0
|
||||
static char sccsid[] = "@(#)refresh.c 8.7 (Berkeley) 8/13/94";
|
||||
#else
|
||||
__RCSID("$NetBSD: refresh.c,v 1.103 2019/01/06 03:46:11 uwe Exp $");
|
||||
__RCSID("$NetBSD: refresh.c,v 1.104 2019/01/06 03:59:17 uwe Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
|
@ -218,10 +218,10 @@ _wnoutrefresh(WINDOW *win, int begy, int begx, int wbegy, int wbegx,
|
|||
|
||||
/* Check that cursor position on "win" is valid for "__virtscr" */
|
||||
if (dwin->cury + wbegy - begy < screen->__virtscr->maxy &&
|
||||
dwin->cury + wbegy - begy >= 0 && dwin->cury < maxy - begy)
|
||||
dwin->cury + wbegy - begy >= 0 && dwin->cury < maxy)
|
||||
screen->__virtscr->cury = dwin->cury + wbegy - begy;
|
||||
if (dwin->curx + wbegx - begx < screen->__virtscr->maxx &&
|
||||
dwin->curx + wbegx - begx >= 0 && dwin->curx < maxx - begx)
|
||||
dwin->curx + wbegx - begx >= 0 && dwin->curx < maxx)
|
||||
screen->__virtscr->curx = dwin->curx + wbegx - begx;
|
||||
|
||||
/* Copy the window flags from "win" to "__virtscr" */
|
||||
|
|
Loading…
Reference in New Issue