diff options
author | Eli Zaretskii <eliz@gnu.org> | 2020-04-10 18:30:21 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2020-04-10 18:30:21 +0300 |
commit | 17a1bb5a032025d29413d5ad9316d3d001da3166 (patch) | |
tree | 3065b23c2d0e2dc8de489b1b984adbf61f2a8430 | |
parent | 90321f595c88324cccaa820add096e5d1c3deac5 (diff) | |
download | emacs-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.c | 4 |
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; |