Hello,

Could you review a fix for jdk9, please?

    bug: https://bugs.openjdk.java.net/browse/JDK-8144703
    webrev: http://cr.openjdk.java.net/~dmarkov/8144703/webrev.00/

Problem description:
If an incorrect font file is used, we unable to initialize the font during CompositeFont.doDeferredInitialisation() invocation and assign default physical font to the corresponding components entry. Later at the same method, (i.e. doDeferredInitialisation()) we try to update this entry one more time, since the name retrieved from the entry and the name provide by componentNames array are different. The method SunFontManager.findFont2D() may return a composite font for such case. As a result we get ClassCastException trying to assign CompositeFont object to the instance of PhysicalFont.

Fix:
Surround invocation of SunFontManager.findFont2D() inside CompositeFont.doDeferredInitialisation() with 'try-catch' to avoid propagation of ClassCastException.

Thanks,
Dmitry

Reply via email to