diff options
author | Gerd Moellmann <[email protected]> | 2000-09-16 13:39:36 +0000 |
---|---|---|
committer | Gerd Moellmann <[email protected]> | 2000-09-16 13:39:36 +0000 |
commit | b74123131b11f3707410a2725dd6eabae3e54109 (patch) | |
tree | dbe856b032a71201b823a3e7e7b76c4a37b0974a /src/dispnew.c | |
parent | 7f8f1edc239ca7c60fb96eae31a2f7b1f8f24b69 (diff) |
(update_window): Make sure to make desired rows
current even if they are completely invisible at the top
of a window.
Diffstat (limited to 'src/dispnew.c')
-rw-r--r-- | src/dispnew.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/dispnew.c b/src/dispnew.c index 45b1223e55..61cf1754e2 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -3839,15 +3839,23 @@ update_window (w, force_p) /* Update the rest of the lines. */ for (; row < end && (force_p || !input_pending); ++row) - if (row->enabled_p - /* A row can be completely invisible in case a desired - matrix was built with a vscroll and then - make_cursor_line_fully_visible shifts the matrix. */ - && row->visible_height > 0) + if (row->enabled_p) { int vpos = MATRIX_ROW_VPOS (row, desired_matrix); int i; + /* A row can be completely invisible in case a desired + matrix was built with a vscroll and then + make_cursor_line_fully_visible shifts the matrix. + Make sure to make such rows current anyway, since + we need the correct y-position, for example, in the + current matrix. */ + if (row->visible_height <= 0) + { + make_current (w->desired_matrix, w->current_matrix, vpos); + continue; + } + /* We'll Have to play a little bit with when to detect_input_pending. If it's done too often, scrolling large windows with repeated scroll-up |