Mercurial > emacs
changeset 111361:1b94785df959
Backport from trunk.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Thu, 04 Nov 2010 15:34:11 -0400 |
parents | 3c958232fff8 |
children | 6a193fac7810 |
files | src/ChangeLog src/xfns.c |
diffstat | 2 files changed, 13 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Thu Nov 04 15:27:46 2010 -0400 +++ b/src/ChangeLog Thu Nov 04 15:34:11 2010 -0400 @@ -1,3 +1,8 @@ +2010-04-09 Jan Djärv <jan.h.d@swipnet.se> + + * xfns.c (Fx_show_tip): Call try_window in a loop until + fonts_changed_p is zero (Bug#2423). + 2010-11-04 Jan Djärv <jan.h.d@swipnet.se> * xfns.c (x_real_positions): Only use _NET_FRAME_EXTENTS if our
--- a/src/xfns.c Thu Nov 04 15:27:46 2010 -0400 +++ b/src/xfns.c Thu Nov 04 15:34:11 2010 -0400 @@ -5221,10 +5221,14 @@ 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;