# HG changeset patch # User Jan D # Date 1270831746 -7200 # Node ID 0bffb2cd03fefa742f56903114ef6e36d93e42d5 # Parent 7fe21bd6ddf809f9a6b9fd5ced173227175d466f 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). diff -r 7fe21bd6ddf8 -r 0bffb2cd03fe src/ChangeLog --- a/src/ChangeLog Fri Apr 09 12:04:17 2010 -0400 +++ b/src/ChangeLog Fri Apr 09 18:49:06 2010 +0200 @@ -1,3 +1,8 @@ +2010-04-09 Jan Djärv + + * xfns.c (Fx_show_tip): Call try_window in a loop until + fonts_changed_p is zero (Bug#2423). + 2010-04-08 Eli Zaretskii * xdisp.c (set_cursor_from_row): Don't dereference glyphs beyond diff -r 7fe21bd6ddf8 -r 0bffb2cd03fe src/xfns.c --- a/src/xfns.c Fri Apr 09 12:04:17 2010 -0400 +++ b/src/xfns.c Fri Apr 09 18:49:06 2010 +0200 @@ -5225,10 +5225,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;