diff options
Diffstat (limited to 'lib/libcurses/refresh.c')
| -rw-r--r-- | lib/libcurses/refresh.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/libcurses/refresh.c b/lib/libcurses/refresh.c index 167b07a050b..e0344f36c66 100644 --- a/lib/libcurses/refresh.c +++ b/lib/libcurses/refresh.c @@ -1,4 +1,4 @@ -/* $NetBSD: refresh.c,v 1.109 2019/05/12 02:19:23 blymn Exp $ */ +/* $NetBSD: refresh.c,v 1.110 2019/05/20 22:17:41 blymn 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.109 2019/05/12 02:19:23 blymn Exp $"); +__RCSID("$NetBSD: refresh.c,v 1.110 2019/05/20 22:17:41 blymn Exp $"); #endif #endif /* not lint */ @@ -45,7 +45,7 @@ __RCSID("$NetBSD: refresh.c,v 1.109 2019/05/12 02:19:23 blymn Exp $"); #include "curses.h" #include "curses_private.h" -static void domvcur(const WINDOW *, int, int, int, int); +static void domvcur(WINDOW *, int, int, int, int); static void putattr(__LDATA *); static void putattr_out(__LDATA *); static int putch(__LDATA *, __LDATA *, int, int); @@ -1431,7 +1431,7 @@ makech(int wy) * Do a mvcur, leaving attributes if necessary. */ static void -domvcur(const WINDOW *win, int oy, int ox, int ny, int nx) +domvcur(WINDOW *win, int oy, int ox, int ny, int nx) { #ifdef DEBUG @@ -1452,6 +1452,10 @@ domvcur(const WINDOW *win, int oy, int ox, int ny, int nx) win->alines[oy]->flags &= ~__ISPASTEOL; win->alines[ny]->flags &= ~__ISPASTEOL; + /* Update old cursor positions to current location */ + win->ocury = ny; + win->ocurx = nx; + __mvcur(oy, ox, ny, nx, 1); } |
