aboutsummaryrefslogtreecommitdiff
path: root/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/native/sun/font/layout/SinglePositioningSubtables.cpp')
-rw-r--r--src/share/native/sun/font/layout/SinglePositioningSubtables.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp b/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp
index fd912b4481..4d32e3a4c8 100644
--- a/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp
+++ b/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp
@@ -42,6 +42,10 @@ U_NAMESPACE_BEGIN
le_uint32 SinglePositioningSubtable::process(const LEReferenceTo<SinglePositioningSubtable> &base, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode &success) const
{
+ if (LE_FAILURE(success)) {
+ return 0;
+ }
+
switch(SWAPW(subtableFormat))
{
case 0:
@@ -68,6 +72,10 @@ le_uint32 SinglePositioningSubtable::process(const LEReferenceTo<SinglePositioni
le_uint32 SinglePositioningFormat1Subtable::process(const LEReferenceTo<SinglePositioningFormat1Subtable> &base, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode &success) const
{
+ if (LE_FAILURE(success)) {
+ return 0;
+ }
+
LEGlyphID glyph = glyphIterator->getCurrGlyphID();
le_int32 coverageIndex = getGlyphCoverage(base, glyph, success);
if (LE_FAILURE(success)) {
@@ -85,6 +93,10 @@ le_uint32 SinglePositioningFormat1Subtable::process(const LEReferenceTo<SinglePo
le_uint32 SinglePositioningFormat2Subtable::process(const LEReferenceTo<SinglePositioningFormat2Subtable> &base, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode &success) const
{
+ if (LE_FAILURE(success)) {
+ return 0;
+ }
+
LEGlyphID glyph = glyphIterator->getCurrGlyphID();
le_int16 coverageIndex = (le_int16) getGlyphCoverage(base, glyph, success);
if (LE_FAILURE(success)) {