From b74123131b11f3707410a2725dd6eabae3e54109 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Sat, 16 Sep 2000 13:39:36 +0000 Subject: [PATCH] (update_window): Make sure to make desired rows current even if they are completely invisible at the top of a window. --- src/ChangeLog | 6 ++++++ src/dispnew.c | 18 +++++++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 95a1d8fffeb..652aede7332 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2000-09-16 Gerd Moellmann + + * dispnew.c (update_window): Make sure to make desired rows + current even if they are completely invisible at the top + of a window. + 2000-09-15 Gerd Moellmann * xfns.c (lookup_image): Build mask before applying an algorithm. diff --git a/src/dispnew.c b/src/dispnew.c index 45b1223e55c..61cf1754e2e 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 -- 2.39.2