From 7c682cf19411778cf0649a397eac435b80ed966a Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Mon, 16 Oct 2006 08:59:31 +0000 Subject: [PATCH] (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. --- src/ChangeLog | 13 +++++++++++++ src/macterm.c | 10 ++++++++-- 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 + + * 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 * 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; -- 2.39.2