edit_redraw() should update when we're not on the first page and/or when

we're not on the same page as before, not just in the former case


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1796 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
David Lawrence Ramsey 2004-06-01 18:32:36 +00:00
parent 0675c2f355
commit ce1d7652f3
2 changed files with 7 additions and 5 deletions

View File

@ -90,7 +90,8 @@ CVS code -
do_right_void(), need_horizontal_update(), do_right_void(), need_horizontal_update(),
need_vertical_update(), edit_scroll(), and edit_redraw(). All need_vertical_update(), edit_scroll(), and edit_redraw(). All
of these functions but the first two require the previous of these functions but the first two require the previous
versions of current and/or placewewant as parameters. Also versions of current and/or placewewant as parameters, so that
they can redraw properly when the location has changed. Also
rename the int refresh in do_delete() and do_backspace() to rename the int refresh in do_delete() and do_backspace() to
do_refresh so as not to conflict with refresh(). (DLR) do_refresh so as not to conflict with refresh(). (DLR)
- Add some comments better explaining what is disabled in - Add some comments better explaining what is disabled in

View File

@ -2610,7 +2610,8 @@ void edit_scroll(updown direction, int nlines)
* updated. */ * updated. */
void edit_redraw(const filestruct *old_current, int old_pww) void edit_redraw(const filestruct *old_current, int old_pww)
{ {
int do_refresh = need_vertical_update(old_pww); int do_refresh = need_vertical_update(0) ||
need_vertical_update(old_pww);
const filestruct *foo; const filestruct *foo;
/* If either old_current or current is offscreen, refresh the screen /* If either old_current or current is offscreen, refresh the screen
@ -2623,9 +2624,9 @@ void edit_redraw(const filestruct *old_current, int old_pww)
return; return;
} }
/* Update old_current and current if we're not on the first page. /* Update old_current and current if we're not on the first page
* If the mark is on, update all the lines between old_current and * and/or we're not on the same page as before. If the mark is on,
* current too. */ * update all the lines between old_current and current too. */
foo = old_current; foo = old_current;
while (foo != current) { while (foo != current) {
if (do_refresh) if (do_refresh)