From 17a1bb5a032025d29413d5ad9316d3d001da3166 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 10 Apr 2020 18:30:21 +0300 Subject: [PATCH] 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. --- src/dispnew.c | 4 ++++ 1 file changed, 4 insertions(+) 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; -- 2.39.2