[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 56a4798: Fix redrawing non-selected frame after res
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master 56a4798: Fix redrawing non-selected frame after resize on MS-Windows |
Date: |
Sun, 20 Nov 2016 17:29:21 +0000 (UTC) |
branch: master
commit 56a47981cc921369dd124cc023ca1469225b1fa7
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Fix redrawing non-selected frame after resize on MS-Windows
* src/xdisp.c (redisplay_internal): If all the frames were
successfully updated, reset the "garbaged" flag of each frame, to
make sure it doesn't stay set.
* src/w32term.c (w32_read_socket): Don't clear the frame if it's
"garbaged", since expose_frame won't redraw the foreground then.
(Bug#24642)
---
src/w32term.c | 15 +++++++++++----
src/xdisp.c | 1 +
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/w32term.c b/src/w32term.c
index e8d66c9..ae0f741 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -4628,11 +4628,18 @@ w32_read_socket (struct terminal *terminal,
}
else
{
- HDC hdc = get_frame_dc (f);
+ /* Erase background again for safety. But don't do
+ that if the frame's 'garbaged' flag is set, since
+ in that case expose_frame will do nothing, and if
+ the various redisplay flags happen to be unset,
+ we are left with a blank frame. */
+ if (!FRAME_GARBAGED_P (f))
+ {
+ HDC hdc = get_frame_dc (f);
- /* Erase background again for safety. */
- w32_clear_rect (f, hdc, &msg.rect);
- release_frame_dc (f, hdc);
+ w32_clear_rect (f, hdc, &msg.rect);
+ release_frame_dc (f, hdc);
+ }
expose_frame (f,
msg.rect.left,
msg.rect.top,
diff --git a/src/xdisp.c b/src/xdisp.c
index c045ced..1420a4a 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -14116,6 +14116,7 @@ redisplay_internal (void)
if (f->updated_p)
{
f->redisplay = false;
+ f->garbaged = false;
mark_window_display_accurate (f->root_window, true);
if (FRAME_TERMINAL (f)->frame_up_to_date_hook)
FRAME_TERMINAL (f)->frame_up_to_date_hook (f);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 56a4798: Fix redrawing non-selected frame after resize on MS-Windows,
Eli Zaretskii <=