[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master d89687b: Fix redisplay of frame after loading new f
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master d89687b: Fix redisplay of frame after loading new fonts |
Date: |
Mon, 27 Apr 2015 15:17:09 +0000 |
branch: master
commit d89687b1ba4d0e4a252ca48749103467f2642212
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Fix redisplay of frame after loading new fonts
* src/xdisp.c (redisplay_internal): When retrying redisplay of a
frame because new fonts were loaded, disable all redisplay
optimizations on that frame by calling SET_FRAME_GARBAGED.
(Bug#20410)
---
src/xdisp.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/src/xdisp.c b/src/xdisp.c
index 5a27adc..c2f0b74 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -13359,6 +13359,13 @@ redisplay_internal (void)
if (f->fonts_changed)
{
adjust_frame_glyphs (f);
+ /* Disable all redisplay optimizations for this frame.
+ This is because adjust_frame_glyphs resets the
+ enabled_p flag for all glyph rows of all windows, so
+ many optimizations will fail anyway, and some might
+ fail to test that flag and do bogus things as
+ result. */
+ SET_FRAME_GARBAGED (f);
f->fonts_changed = false;
}
/* If cursor type has been changed on the frame
@@ -13753,6 +13760,10 @@ redisplay_internal (void)
if (f->fonts_changed)
{
adjust_frame_glyphs (f);
+ /* Disable all redisplay optimizations for this
+ frame. For the reasons, see the comment near
+ the previous call to adjust_frame_glyphs above. */
+ SET_FRAME_GARBAGED (f);
f->fonts_changed = false;
goto retry_frame;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master d89687b: Fix redisplay of frame after loading new fonts,
Eli Zaretskii <=