summaryrefslogtreecommitdiff
path: root/java/awt/Frame.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/awt/Frame.java')
-rw-r--r--java/awt/Frame.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/java/awt/Frame.java b/java/awt/Frame.java
index 542013671..e0c0d1ff3 100644
--- a/java/awt/Frame.java
+++ b/java/awt/Frame.java
@@ -340,13 +340,16 @@ public class Frame extends Window implements MenuContainer
parent.remove(menuBar);
menuBar.setParent(this);
- if (peer != null)
- {
- if (menuBar != null)
- menuBar.addNotify();
- invalidateTree();
- ((FramePeer) peer).setMenuBar(menuBar);
- }
+ // Create local copy for thread safety.
+ FramePeer p = (FramePeer) peer;
+ if (p != null)
+ {
+ if (menuBar != null)
+ menuBar.addNotify();
+ if (valid)
+ invalidate();
+ p.setMenuBar(menuBar);
+ }
}
}