summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2020-04-10 18:30:21 +0300
committerEli Zaretskii <eliz@gnu.org>2020-04-10 18:30:21 +0300
commit17a1bb5a032025d29413d5ad9316d3d001da3166 (patch)
tree3065b23c2d0e2dc8de489b1b984adbf61f2a8430
parent90321f595c88324cccaa820add096e5d1c3deac5 (diff)
downloademacs-17a1bb5a032025d29413d5ad9316d3d001da3166.tar.gz
Fix redisplay when scrolling under redisplay-dont-pause
* src/dispnew.c (update_window): Reset the window's 'must_be_updated_p' flag if the window's update was completed without interruption. This fixes redisplay glitches when 'redisplay-dont-pause' is nil, at least on MS-Windows, because 'expose_window' doesn't redraw the exposed rectangle when the window's 'must_be_updated_p' flag is set.
-rw-r--r--src/dispnew.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/dispnew.c b/src/dispnew.c
index d79ae836c56..5b6fa51a563 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -3683,6 +3683,10 @@ update_window (struct window *w, bool force_p)
W->output_cursor doesn't contain the cursor location. */
gui_update_window_end (w, !paused_p, mouse_face_overwritten_p);
#endif
+ /* If the update wasn't interrupted, this window has been
+ completely updated. */
+ if (!paused_p)
+ w->must_be_updated_p = false;
}
else
paused_p = 1;