diff options
| author | Eli Zaretskii | 2019-10-05 15:02:46 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2019-10-05 15:02:46 +0300 |
| commit | 2fa9699fd795a081420682877fc448ff2391f9bd (patch) | |
| tree | 95d62fd767d05922996d7116cd389d11eac557bc /src | |
| parent | 66839a74bb74efa16f9f531e93d58cadf6ab7196 (diff) | |
| download | emacs-2fa9699fd795a081420682877fc448ff2391f9bd.tar.gz emacs-2fa9699fd795a081420682877fc448ff2391f9bd.zip | |
Fix display of cursor in obscure use case on MS-Windows
* 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)
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 9d1fdecaffb..f5dedc218e2 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -15587,6 +15587,13 @@ redisplay_internal (void) | |||
| 15587 | STOP_POLLING; | 15587 | STOP_POLLING; |
| 15588 | 15588 | ||
| 15589 | pending |= update_frame (f, false, false); | 15589 | pending |= update_frame (f, false, false); |
| 15590 | /* On some platforms (at least MS-Windows), the | ||
| 15591 | scroll_run_hook called from scrolling_window | ||
| 15592 | called from update_frame could set the frame's | ||
| 15593 | garbaged flag, in which case we need to | ||
| 15594 | redisplay the frame. */ | ||
| 15595 | if (FRAME_GARBAGED_P (f)) | ||
| 15596 | goto retry_frame; | ||
| 15590 | f->cursor_type_changed = false; | 15597 | f->cursor_type_changed = false; |
| 15591 | f->updated_p = true; | 15598 | f->updated_p = true; |
| 15592 | f->inhibit_clear_image_cache = false; | 15599 | f->inhibit_clear_image_cache = false; |