commit ba61cc382f8a7e15dbcdb9d0ecc7ab07d8bf93e7
parent 3f301dd437628ce9ea593b4d96de9b0bd4a5f0c9
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Tue, 21 Jun 2005 20:16:26 +0000
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
Diffstat:
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -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)
diff --git a/src/winio.c b/src/winio.c
@@ -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
}