]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix redisplay when scrolling under redisplay-dont-pause
authorEli Zaretskii <eliz@gnu.org>
Fri, 10 Apr 2020 15:30:21 +0000 (18:30 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 10 Apr 2020 15:30:21 +0000 (18:30 +0300)
* 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

index d79ae836c56982fe5cb9ae5737af0c3521bd3521..5b6fa51a563f581cd9914f1aa2fffaab4dbddf95 100644 (file)
@@ -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;