diff options
author | Jan D <jan.h.d@swipnet.se> | 2010-04-09 18:49:06 +0200 |
---|---|---|
committer | Jan D <jan.h.d@swipnet.se> | 2010-04-09 18:49:06 +0200 |
commit | b13aef54997edcdceae7dab09a979f5833e6285d (patch) | |
tree | 7c27948b37a82a43c5e46ab3add49b5a4f6233dd | |
parent | 0880716f5085e0203436a436280ce2cc9fb0edad (diff) | |
download | emacs-b13aef54997edcdceae7dab09a979f5833e6285d.tar.gz |
Fix showing the complete tip the first time, bug #2423.
* xfns.c (Fx_show_tip): Call try_window in a loop until
fonts_changed_p is zero (Bug#2423).
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/xfns.c | 12 |
2 files changed, 13 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0f61c91c790..cbb14a58622 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -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-04-08 Eli Zaretskii <eliz@gnu.org> * xdisp.c (set_cursor_from_row): Don't dereference glyphs beyond diff --git a/src/xfns.c b/src/xfns.c index 647526cc22b..b70f20fe644 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -5225,10 +5225,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; |