# HG changeset patch # User vadim # Date 1428403050 -10800 # Node ID 7bc1eec6ce3b24ec7680cc514f239463efc90031 # Parent 9dbc80b20ac6e7c473134d647353b74c937b7af3 8074871: Adjust device table handling Reviewed-by: prr, srl, mschoene diff -r 9dbc80b20ac6 -r 7bc1eec6ce3b jdk/src/java.desktop/share/native/libfontmanager/layout/AnchorTables.cpp --- a/jdk/src/java.desktop/share/native/libfontmanager/layout/AnchorTables.cpp Tue Apr 07 13:37:30 2015 +0300 +++ b/jdk/src/java.desktop/share/native/libfontmanager/layout/AnchorTables.cpp Tue Apr 07 13:37:30 2015 +0300 @@ -44,21 +44,27 @@ case 1: { LEReferenceTo f1(base, success); - f1->getAnchor(f1, fontInstance, anchor, success); + if (LE_SUCCESS(success)) { + f1->getAnchor(f1, fontInstance, anchor, success); + } break; } case 2: { LEReferenceTo f2(base, success); - f2->getAnchor(f2, glyphID, fontInstance, anchor, success); + if (LE_SUCCESS(success)) { + f2->getAnchor(f2, glyphID, fontInstance, anchor, success); + } break; } case 3: { LEReferenceTo f3(base, success); - f3->getAnchor(f3, fontInstance, anchor, success); + if (LE_SUCCESS(success)) { + f3->getAnchor(f3, fontInstance, anchor, success); + } break; } @@ -66,7 +72,9 @@ { // unknown format: just use x, y coordinate, like format 1... LEReferenceTo f1(base, success); - f1->getAnchor(f1, fontInstance, anchor, success); + if (LE_SUCCESS(success)) { + f1->getAnchor(f1, fontInstance, anchor, success); + } break; } } @@ -112,16 +120,18 @@ if (dtxOffset != 0) { LEReferenceTo dt(base, success, dtxOffset); - le_int16 adjx = dt->getAdjustment(dt, (le_int16) fontInstance->getXPixelsPerEm(), success); - - pixels.fX += adjx; + if (LE_SUCCESS(success)) { + le_int16 adjx = dt->getAdjustment(dt, (le_int16) fontInstance->getXPixelsPerEm(), success); + pixels.fX += adjx; + } } if (dtyOffset != 0) { LEReferenceTo dt(base, success, dtyOffset); - le_int16 adjy = dt->getAdjustment(dt, (le_int16) fontInstance->getYPixelsPerEm(), success); - - pixels.fY += adjy; + if (LE_SUCCESS(success)) { + le_int16 adjy = dt->getAdjustment(dt, (le_int16) fontInstance->getYPixelsPerEm(), success); + pixels.fY += adjy; + } } fontInstance->pixelsToUnits(pixels, anchor);