commit 374216fe229f05757b39c478688afcacc4365cc6
parent fc6ef3e1e8aa24f676b412ead5d9301f4f40bb8d
Author: Chris Allegretta <chrisa@asty.org>
Date: Mon, 4 Jan 2010 19:00:55 +0000
2010-01-04 Chris Allegretta <chrisa@asty.org>
* winio.c: edit_update, edit_redraw - Fix search not scrolling to the middle of the screen
(reported by alpha@qzx.com) and places where we rely on maxrows but should not.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4471 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,7 @@
+2010-01-04 Chris Allegretta <chrisa@asty.org>
+ * winio.c: edit_update, edit_redraw - Fix search not scrolling to the middle of the screen
+ (reported by alpha@qzx.com) and places where we rely on maxrows but should not.
+
2009-12-26 Jordi Mallach <jordi@gnu.org>
* doc/man/nano.1: Avoid a groff warning by prepending a zero-width
space to a line starting with '.
diff --git a/src/winio.c b/src/winio.c
@@ -2935,7 +2935,7 @@ bool need_vertical_update(size_t pww_save)
}
/* When edittop changes, try and figure out how many lines
- * we really have to work with (i.e. set maxrows)
+ * we really have to work with (i.e. set maxrows)
*/
void compute_maxrows(void)
{
@@ -3160,7 +3160,7 @@ void edit_redraw(filestruct *old_current, size_t pww_save)
/* Put edittop in range of current, get the difference in lines
* between the original edittop and the current edittop, and
* then restore the original edittop. */
- edit_update(NONE);
+ edit_update(CENTER);
nlines = openfile->edittop->lineno - old_edittop->lineno;
@@ -3239,7 +3239,7 @@ void edit_refresh(void)
/* Put the top line of the edit window in range of the current
* line. */
- edit_update(NONE);
+ edit_update(CENTER);
}
foo = openfile->edittop;
@@ -3279,13 +3279,13 @@ void edit_update(update_type location)
* screen as before, or at the top or bottom of the screen if
* edittop is beyond either. */
if (location == CENTER)
- goal = maxrows / 2;
+ goal = editwinrows / 2;
else {
goal = openfile->current_y;
/* Limit goal to (editwinrows - 1) lines maximum. */
- if (goal > maxrows - 1)
- goal = maxrows - 1;
+ if (goal > editwinrows - 1)
+ goal = editwinrows - 1;
}
for (; goal > 0 && foo->prev != NULL; goal--) {