summaryrefslogtreecommitdiff
path: root/Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp')
-rw-r--r--Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp b/Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp
index 21a00fdcd51..a3c6b46a7f4 100644
--- a/Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp
+++ b/Build/source/libs/graphite2/graphite2-src/src/gr_slot.cpp
@@ -95,8 +95,9 @@ float gr_slot_advance_X(const gr_slot* p/*not NULL*/, const gr_face *face, const
if (font)
{
scale = font->scale();
- if (face && font->isHinted())
- res = (res - face->glyphs().glyph(p->gid())->theAdvance().x) * scale + font->advance(p->gid());
+ int gid = p->glyph();
+ if (face && font->isHinted() && gid < face->glyphs().numGlyphs())
+ res = (res - face->glyphs().glyph(gid)->theAdvance().x) * scale + font->advance(gid);
else
res = res * scale;
}