fix total_redraw() so that it always keeps the cursor in the same window

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2752 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
David Lawrence Ramsey 2005-06-21 20:16:26 +00:00
parent 3f301dd437
commit ba61cc382f
2 changed files with 12 additions and 9 deletions

View File

@ -328,11 +328,13 @@ CVS code -
prompt, so that we don't end it in the middle of a multibyte
character if it's more than (COLS - 1) bytes long. (DLR)
total_redraw()
- Simplify to call clearok(TRUE) and wrefresh() on edit, which
updates the entire screen in fewer function calls. (DLR)
- Simplify to call clearok(TRUE) and wrefresh() on curscr, which
updates the entire screen in fewer function calls without
moving the cursor from the window it's currently in. (DLR)
- When using slang, use SLsmg_touch_screen() and SLsmg_refresh()
to update the screen, as the curses method will leave some
windows cleared without properly updating them. (DLR)
to update the screen, as slang doesn't define curscr, and even
if it did, the curses method will leave some windows cleared
without properly updating them. (DLR)
do_replace_highlight()
- Use waddch() instead of waddstr() to display a space when we
have a zero-length regex. (DLR)

View File

@ -3713,14 +3713,15 @@ int do_yesno(bool all, const char *msg)
void total_redraw(void)
{
#ifdef USE_SLANG
/* Slang curses emulation brain damage, part 3: If we just do what
* curses does here, it'll leave some windows cleared without
* updating them properly. */
/* Slang curses emulation brain damage, part 3: Slang doesn't define
* curscr, and even if it did, if we just do what curses does here,
* it'll leave some windows cleared without updating them
* properly. */
SLsmg_touch_screen();
SLsmg_refresh();
#else
clearok(edit, TRUE);
wrefresh(edit);
clearok(curscr, TRUE);
wrefresh(curscr);
#endif
}