summaryrefslogtreecommitdiff
path: root/src/xfns.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xfns.c')
-rw-r--r--src/xfns.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/xfns.c b/src/xfns.c
index 635264ea862..5979c81e7b7 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5221,10 +5221,14 @@ Text larger than the specified size is clipped. */)
old_buffer = current_buffer;
set_buffer_internal_1 (XBUFFER (XWINDOW (FRAME_ROOT_WINDOW (f))->buffer));
current_buffer->truncate_lines = Qnil;
- clear_glyph_matrix (w->desired_matrix);
- clear_glyph_matrix (w->current_matrix);
- SET_TEXT_POS (pos, BEGV, BEGV_BYTE);
- try_window (FRAME_ROOT_WINDOW (f), pos, 0);
+
+ do {
+ fonts_changed_p = 0;
+ clear_glyph_matrix (w->desired_matrix);
+ clear_glyph_matrix (w->current_matrix);
+ SET_TEXT_POS (pos, BEGV, BEGV_BYTE);
+ try_window (FRAME_ROOT_WINDOW (f), pos, 0);
+ } while (fonts_changed_p);
/* Compute width and height of the tooltip. */
width = height = 0;