From 5b253e9c5c158330d6df05f56359cf4a98cf3115 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Sat, 10 Apr 2010 19:59:46 +0900 Subject: [PATCH] xfns.c (Fx_show_tip): Subtract last glyph's width only when it is for padding. --- src/ChangeLog | 3 ++- src/xfns.c | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 157ff6db673..c7ea82af2a8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -9,7 +9,8 @@ TRY_WINDOW_CHECK_MARGINS. * xfns.c (Fx_show_tip): Undo last change. Call try_window with - TRY_WINDOW_IGNORE_FONTS_CHANGE (Bug#2423). + TRY_WINDOW_IGNORE_FONTS_CHANGE (Bug#2423). Subtract last glyph's + width only when it is for padding. 2010-04-09 Jan Djärv diff --git a/src/xfns.c b/src/xfns.c index 52d6b7bd00f..e02174e55fa 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -5245,15 +5245,15 @@ Text larger than the specified size is clipped. */) /* Let the row go over the full width of the frame. */ row->full_width_p = 1; + row_width = row->pixel_width; /* There's a glyph at the end of rows that is used to place the cursor there. Don't include the width of this glyph. */ if (row->used[TEXT_AREA]) { last = &row->glyphs[TEXT_AREA][row->used[TEXT_AREA] - 1]; - row_width = row->pixel_width - last->pixel_width; + if (INTEGERP (last->object)) + row_width -= last->pixel_width; } - else - row_width = row->pixel_width; height += row->height; width = max (width, row_width); -- 2.39.5