jdk/src/java.desktop/share/classes/javax/swing/LegacyGlueFocusTraversalPolicy.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/LegacyGlueFocusTraversalPolicy.java Mon Aug 18 14:03:21 2014 +0100
+++ b/jdk/src/java.desktop/share/classes/javax/swing/LegacyGlueFocusTraversalPolicy.java Tue Aug 19 10:32:16 2014 -0700
@@ -194,7 +194,23 @@
private void readObject(ObjectInputStream in)
throws IOException, ClassNotFoundException
{
- in.defaultReadObject();
+ ObjectInputStream.GetField f = in.readFields();
+
+ @SuppressWarnings("unchecked")
+ HashMap<Component, Component> newForwardMap =
+ (HashMap<Component, Component> ) f.get("forwardMap", null);
+ if (newForwardMap == null) {
+ throw new InvalidObjectException("Null forwardMap");
+ }
+ forwardMap = newForwardMap;
+ @SuppressWarnings("unchecked")
+ HashMap<Component, Component> newBackwardMap =
+ (HashMap<Component, Component>) f.get("backwardMap", null);
+ if (newBackwardMap == null) {
+ throw new InvalidObjectException("Null backwardMap");
+ }
+ backwardMap = newBackwardMap;
+
delegatePolicy = (FocusTraversalPolicy)in.readObject();
delegateManager = (DefaultFocusManager)in.readObject();
}