mirror of
https://github.com/VARCem/PDCurses.git
synced 2026-09-24 15:55:14 +00:00
The cursor position was not updated correctly in BIOS mode. Solution:
always move the cursor in doupdate(), as long as it's visible. This also lets me remove the cursor update from X's PDC_transform_line(). To Do: Cursor must be updated in curs_set on an invisible -> visible transition.
This commit is contained in:
@@ -38,7 +38,7 @@
|
||||
# undef reset_prog_mode
|
||||
#endif
|
||||
|
||||
RCSID("$Id: refresh.c,v 1.33 2006/07/17 21:45:15 wmcbrine Exp $");
|
||||
RCSID("$Id: refresh.c,v 1.34 2006/07/28 19:32:07 wmcbrine Exp $");
|
||||
|
||||
/*man-start**************************************************************
|
||||
|
||||
@@ -216,12 +216,11 @@ int doupdate(void)
|
||||
|
||||
curscr->_clear = FALSE;
|
||||
|
||||
if (SP->cursrow != curscr->_cury || SP->curscol != curscr->_curx)
|
||||
{
|
||||
if (SP->visibility)
|
||||
PDC_gotoyx(curscr->_cury, curscr->_curx);
|
||||
SP->cursrow = curscr->_cury;
|
||||
SP->curscol = curscr->_curx;
|
||||
}
|
||||
|
||||
SP->cursrow = curscr->_cury;
|
||||
SP->curscol = curscr->_curx;
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
RCSID("$Id: pdcdisp.c,v 1.30 2006/07/23 19:10:32 wmcbrine Exp $");
|
||||
RCSID("$Id: pdcdisp.c,v 1.31 2006/07/28 19:32:07 wmcbrine Exp $");
|
||||
|
||||
int PDC_display_cursor(int oldrow, int oldcol, int newrow, int newcol,
|
||||
int visibility)
|
||||
@@ -135,8 +135,4 @@ void PDC_transform_line(int lineno)
|
||||
curscr->_lastch[lineno] = _NO_CHANGE;
|
||||
|
||||
XCursesInstructAndWait(CURSES_REFRESH);
|
||||
|
||||
if (lineno == SP->cursrow)
|
||||
PDC_display_cursor(SP->cursrow, SP->curscol,
|
||||
SP->cursrow, SP->curscol, 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user