8065291: Improved font lookups
Reviewed-by: bae, srl, mschoene
diff --git a/jdk/src/share/native/sun/font/layout/LookupProcessor.cpp b/jdk/src/share/native/sun/font/layout/LookupProcessor.cpp
index b5d750d..0629e9d 100644
--- a/jdk/src/share/native/sun/font/layout/LookupProcessor.cpp
+++ b/jdk/src/share/native/sun/font/layout/LookupProcessor.cpp
@@ -255,6 +255,7 @@
if (requiredFeatureIndex != 0xFFFF) {
requiredFeatureTable = featureListTable->getFeatureTable(featureListTable, requiredFeatureIndex, &requiredFeatureTag, success);
+ if (LE_FAILURE(success)) return;
featureReferences += SWAPW(requiredFeatureTable->lookupCount);
}
@@ -292,7 +293,7 @@
}
featureTable = featureListTable->getFeatureTable(featureListTable, featureIndex, &featureTag, success);
-
+ if (LE_FAILURE(success)) continue;
if (featureTag == fm.tag) {
count += selectLookups(featureTable, fm.mask, order + count, success);
}
@@ -319,7 +320,7 @@
#endif
featureTable = featureListTable->getFeatureTable(featureListTable, featureIndex, &featureTag, success);
-
+ if (LE_FAILURE(success)) continue;
if (featureTag == fm.tag) {
order += selectLookups(featureTable, fm.mask, order, success);
}