diff options
| author | Eli Zaretskii | 2020-04-10 18:30:21 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2020-04-10 18:30:21 +0300 |
| commit | 17a1bb5a032025d29413d5ad9316d3d001da3166 (patch) | |
| tree | 3065b23c2d0e2dc8de489b1b984adbf61f2a8430 /src | |
| parent | 90321f595c88324cccaa820add096e5d1c3deac5 (diff) | |
| download | emacs-17a1bb5a032025d29413d5ad9316d3d001da3166.tar.gz emacs-17a1bb5a032025d29413d5ad9316d3d001da3166.zip | |
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.
Diffstat (limited to 'src')
| -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) | |||
| 3683 | W->output_cursor doesn't contain the cursor location. */ | 3683 | W->output_cursor doesn't contain the cursor location. */ |
| 3684 | gui_update_window_end (w, !paused_p, mouse_face_overwritten_p); | 3684 | gui_update_window_end (w, !paused_p, mouse_face_overwritten_p); |
| 3685 | #endif | 3685 | #endif |
| 3686 | /* If the update wasn't interrupted, this window has been | ||
| 3687 | completely updated. */ | ||
| 3688 | if (!paused_p) | ||
| 3689 | w->must_be_updated_p = false; | ||
| 3686 | } | 3690 | } |
| 3687 | else | 3691 | else |
| 3688 | paused_p = 1; | 3692 | paused_p = 1; |