diff --git a/src/share/classes/java/awt/Font.java b/src/share/classes/java/awt/Font.java index 3293932f2b95640a516f97e9edb2037760fae2fc..b62c83839f644ad12154f9796743b6241171677f 100644 --- a/src/share/classes/java/awt/Font.java +++ b/src/share/classes/java/awt/Font.java @@ -1750,6 +1750,7 @@ public class Font implements java.io.Serializable // value is the default. if (fRequestedAttributes != null) { + try { values = getAttributeValues(); // init AttributeValues extras = AttributeValues.fromSerializableHashtable(fRequestedAttributes); @@ -1759,10 +1760,13 @@ public class Font implements java.io.Serializable values = getAttributeValues().merge(extras); this.nonIdentityTx = values.anyNonDefault(EXTRA_MASK); this.hasLayoutAttributes = values.anyNonDefault(LAYOUT_MASK); - + } catch (Throwable t) { + throw new IOException(t); + } finally { fRequestedAttributes = null; // don't need it any more } } + } /** * Returns the number of glyphs in this Font. Glyph codes