summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2006-10-16 08:59:31 +0000
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2006-10-16 08:59:31 +0000
commit7c682cf19411778cf0649a397eac435b80ed966a (patch)
tree348a1c96b172e2bd3e44394e0cd59ec4b2b75c79
parent2e6266ac5774e0edc9b8b24456dc81e3f8805465 (diff)
downloademacs-7c682cf19411778cf0649a397eac435b80ed966a.tar.gz
(mac_query_char_extents): Don't return glyph ID if layout
adjustment is needed. (mac_load_query_font): Check if width and height are positive.
-rw-r--r--src/ChangeLog13
-rw-r--r--src/macterm.c10
2 files changed, 21 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 984407e44fa..4c79b1cfaa7 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,16 @@
+2006-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * dispnew.c (adjust_frame_glyphs_for_frame_redisplay): Remove unused
+ variable ch_dim.
+ (adjust_frame_glyphs_for_window_redisplay): Likewise. Don't allocate
+ menu bar window matrices on non-X systems.
+
+ * mac.c (Fmac_get_preference, Fmac_code_convert_string): Add GCPROs.
+
+ * macterm.c (mac_query_char_extents): Don't return glyph ID if layout
+ adjustment is needed.
+ (mac_load_query_font): Check if width and height are positive.
+
2006-10-14 Richard Stallman <rms@gnu.org>
* sysdep.c (init_sys_modes): Delete DEFVAR_LISP in the wrong place.
diff --git a/src/macterm.c b/src/macterm.c
index 86f4c46c4c6..864852129e2 100644
--- a/src/macterm.c
+++ b/src/macterm.c
@@ -1198,7 +1198,12 @@ mac_query_char_extents (style, c,
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 @@ mac_load_query_font (f, fontname)
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;