summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2013-09-03 08:56:25 +0200
committerJan Djärv <jan.h.d@swipnet.se>2013-09-03 08:56:25 +0200
commit0ce9f6de648119922179ac9faaecc9445a5eade6 (patch)
tree45e0eb23dc4316d3e941aad2d6a3db2a7af64ce4
parent88527bc0a26e385376c9da884feb9fe0d4d18429 (diff)
downloademacs-0ce9f6de648119922179ac9faaecc9445a5eade6.tar.gz
* nsfont.m (INVALID_GLYPH): New define.
(nsfont_encode_char): Use INVALID_GLYPH. (ns_uni_to_glyphs): Ditto, check for NSNullGlyph. Fixes: debbugs:15138
-rw-r--r--src/ChangeLog6
-rw-r--r--src/nsfont.m9
2 files changed, 11 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d2e80ace3e4..caba3eb96d4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2013-09-03 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsfont.m (INVALID_GLYPH): New define.
+ (nsfont_encode_char): Use INVALID_GLYPH.
+ (ns_uni_to_glyphs): Ditto, check for NSNullGlyph (Bug#15138).
+
2013-09-02 Dmitry Antipov <dmantipov@yandex.ru>
* xterm.c (x_last_mouse_movement_time): Revert last change.
diff --git a/src/nsfont.m b/src/nsfont.m
index 235150e3aef..e1c7d32dde0 100644
--- a/src/nsfont.m
+++ b/src/nsfont.m
@@ -61,6 +61,7 @@ static void ns_uni_to_glyphs (struct nsfont_info *font_info,
static void ns_glyph_metrics (struct nsfont_info *font_info,
unsigned char block);
+#define INVALID_GLYPH 0xFFFF
/* ==========================================================================
@@ -981,7 +982,7 @@ nsfont_encode_char (struct font *font, int c)
ns_uni_to_glyphs (font_info, high);
g = font_info->glyphs[high][low];
- return g == 0xFFFF ? FONT_INVALID_CODE : g;
+ return g == INVALID_GLYPH ? FONT_INVALID_CODE : g;
}
@@ -1354,8 +1355,8 @@ ns_uni_to_glyphs (struct nsfont_info *font_info, unsigned char block)
#else
g = glyphStorage->cglyphs[i];
/* TODO: is this a good check? maybe need to use coveredChars.. */
- if (g > numGlyphs)
- g = 0xFFFF; /* hopefully unused... */
+ if (g > numGlyphs || g == NSNullGlyph)
+ g = INVALID_GLYPH; /* hopefully unused... */
#endif
*glyphs = g;
}
@@ -1483,7 +1484,7 @@ ns_glyph_metrics (struct nsfont_info *font_info, unsigned char block)
characterIndex: (NSUInteger)charIndex
{
len = glyphIndex+length;
- for (i =glyphIndex; i<len; i++)
+ for (i =glyphIndex; i<len; i++)
cglyphs[i] = glyphs[i-glyphIndex];
if (len > maxGlyph)
maxGlyph = len;