]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix display of cursor in obscure use case on MS-Windows
authorEli Zaretskii <eliz@gnu.org>
Sat, 5 Oct 2019 12:02:46 +0000 (15:02 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 5 Oct 2019 12:02:46 +0000 (15:02 +0300)
* src/xdisp.c (redisplay_internal): Detect when the frame
becomes garbaged inside the call to update_frame, and redraw
the frame in that case.  (Bug#37579)

src/xdisp.c

index 9d1fdecaffb8d91bf512a150eefa3efa81659671..f5dedc218e2b748722801e793f9e64abb8709159 100644 (file)
@@ -15587,6 +15587,13 @@ redisplay_internal (void)
                  STOP_POLLING;
 
                  pending |= update_frame (f, false, false);
+                 /* On some platforms (at least MS-Windows), the
+                    scroll_run_hook called from scrolling_window
+                    called from update_frame could set the frame's
+                    garbaged flag, in which case we need to
+                    redisplay the frame.  */
+                  if (FRAME_GARBAGED_P (f))
+                   goto retry_frame;
                  f->cursor_type_changed = false;
                  f->updated_p = true;
                  f->inhibit_clear_image_cache = false;