jdk/src/java.desktop/share/classes/java/awt/MenuComponent.java
changeset 30918 ee2374d4aae3
parent 30471 c1568a2416a8
child 32865 f9cb6e427f9e
--- a/jdk/src/java.desktop/share/classes/java/awt/MenuComponent.java	Fri May 08 16:46:24 2015 +0300
+++ b/jdk/src/java.desktop/share/classes/java/awt/MenuComponent.java	Fri May 08 17:35:15 2015 +0300
@@ -77,7 +77,7 @@
      * @see #setFont(Font)
      * @see #getFont()
      */
-    Font font;
+    volatile Font font;
 
     /**
      * The menu component's name, which defaults to <code>null</code>.
@@ -302,11 +302,13 @@
      * @see       java.awt.font.TextAttribute
      */
     public void setFont(Font f) {
-        font = f;
-        //Fixed 6312943: NullPointerException in method MenuComponent.setFont(Font)
-        MenuComponentPeer peer = this.peer;
-        if (peer != null) {
-            peer.setFont(f);
+        synchronized (getTreeLock()) {
+            font = f;
+            //Fixed 6312943: NullPointerException in method MenuComponent.setFont(Font)
+            MenuComponentPeer peer = this.peer;
+            if (peer != null) {
+                peer.setFont(f);
+            }
         }
     }