summaryrefslogtreecommitdiff
path: root/lib/libcurses/refresh.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libcurses/refresh.c')
-rw-r--r--lib/libcurses/refresh.c12
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);
}