diff options
author | Po Lu <luangruo@yahoo.com> | 2022-04-30 18:54:34 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2022-04-30 18:54:34 +0800 |
commit | 57447f5ce0a723f698d1515485860ca17ce93960 (patch) | |
tree | 68daa5ac0fcb26c26edb389d47285947d062737d /src/w32term.c | |
parent | 5fd54723536efca5589f9b9ac64825e76f0d1360 (diff) | |
download | emacs-57447f5ce0a723f698d1515485860ca17ce93960.tar.gz emacs-57447f5ce0a723f698d1515485860ca17ce93960.tar.bz2 emacs-57447f5ce0a723f698d1515485860ca17ce93960.zip |
Fix display updating inside the minibuffer on MS Windows
* src/minibuf.c (read_minibuf): Call `w32_flip_buffers_if_dirty'
after changing the cursor position and redisplaying instead of
`flush_frame'. (bug#55193)
* src/w32term.c (w32_flip_buffers_if_dirty): New function.
* src/w32term.h: Update prototypes.
Diffstat (limited to 'src/w32term.c')
-rw-r--r-- | src/w32term.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/w32term.c b/src/w32term.c index 0c16dc1eef4..11675085fcc 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -774,6 +774,19 @@ w32_buffer_flipping_unblocked_hook (struct frame *f) w32_show_back_buffer (f); } +/* Flip buffers on F if drawing has happened. This function is not + called to flush the display connection of a frame (which doesn't + exist on MS Windows), but also called in some situations in + minibuf.c to make the contents of the back buffer visible. */ +void +w32_flip_buffers_if_dirty (struct frame *f) +{ + if (FRAME_OUTPUT_DATA (f)->paint_buffer + && FRAME_OUTPUT_DATA (f)->paint_buffer_dirty + && !f->garbaged && !buffer_flipping_blocked_p ()) + w32_show_back_buffer (f); +} + /* Draw truncation mark bitmaps, continuation mark bitmaps, overlay arrow bitmaps, or clear the fringes if no bitmaps are required before DESIRED_ROW is made current. This function is called from |