changeset 107819:834292200403

xfns.c (Fx_show_tip): Subtract last glyph's width only when it is for padding.
author YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
date Sat, 10 Apr 2010 19:59:46 +0900
parents c7670de45d8a
children e97568b31550
files src/ChangeLog src/xfns.c
diffstat 2 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sat Apr 10 19:52:30 2010 +0900
+++ b/src/ChangeLog	Sat Apr 10 19:59:46 2010 +0900
@@ -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  <jan.h.d@swipnet.se>
 
--- a/src/xfns.c	Sat Apr 10 19:52:30 2010 +0900
+++ b/src/xfns.c	Sat Apr 10 19:59:46 2010 +0900
@@ -5245,15 +5245,15 @@
       /* 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);