diff src/macterm.c @ 83544:58cf725f5330

Merged from emacs@sv.gnu.org. Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-474 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-475 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-476 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-477 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-478 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-150 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-151 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-152 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-584
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 03 Dec 2006 12:15:03 +0000
parents 2d56e13fd23d bd82ccfce877
children c71725faff1a
line wrap: on
line diff
--- a/src/macterm.c	Sat Oct 14 18:40:58 2006 +0000
+++ b/src/macterm.c	Sun Dec 03 12:15:03 2006 +0000
@@ -1198,7 +1198,12 @@
 		err1 = ATSUGetGlyphInfo (text_layout, kATSUFromTextBeginning,
 					 kATSUToTextEnd, &count,
 					 &glyph_info_array);
-	      if (err1 == noErr)
+	      if (err1 == noErr
+		  /* Make sure that we don't have to make layout
+		     adjustments.  */
+		  && glyph_info_array.glyphs[0].deltaY == 0.0f
+		  && glyph_info_array.glyphs[0].idealX == 0.0f
+		  && glyph_info_array.glyphs[0].screenX == 0)
 		{
 		  xassert (glyph_info_array.glyphs[0].glyphID);
 		  *cg_glyph = glyph_info_array.glyphs[0].glyphID;
@@ -7963,7 +7968,8 @@
 				    NULL
 #endif
 				    );
-      if (err != noErr)
+      if (err != noErr
+	  || space_bounds->width <= 0 || FONT_HEIGHT (font) <= 0)
 	{
 	  mac_unload_font (&one_mac_display_info, font);
 	  return NULL;