--- old/src/share/native/sun/font/FontInstanceAdapter.cpp 2014-03-28 14:07:58.041550839 -0700 +++ new/src/share/native/sun/font/FontInstanceAdapter.cpp 2014-03-28 14:07:57.897550842 -0700 @@ -222,10 +222,16 @@ jobject pt = env->NewObject(sunFontIDs.pt2DFloatClass, sunFontIDs.pt2DFloatCtr, adjustment.fX, adjustment.fY); + if (pt == NULL) { + env->ExceptionClear(); + adjustment.fX = 0.0f; + adjustment.fY = 0.0f; + } else { env->CallObjectMethod(fontStrike, sunFontIDs.adjustPointMID, pt); adjustment.fX = env->GetFloatField(pt, sunFontIDs.xFID); adjustment.fY = env->GetFloatField(pt, sunFontIDs.yFID); } +} void FontInstanceAdapter::getWideGlyphAdvance(le_uint32 glyph, LEPoint &advance) const {