|
@@ -87,12 +87,12 @@ public final class WindowMenuFrameManager extends JMenu implements
|
87
|
87
|
super();
|
88
|
88
|
this.controller = controller;
|
89
|
89
|
|
90
|
|
- menus = Collections.synchronizedMap(new HashMap<FrameContainer,
|
91
|
|
- FrameContainerMenu>());
|
92
|
|
- items = Collections.synchronizedMap(new HashMap<FrameContainer,
|
93
|
|
- FrameContainerMenuItem>());
|
94
|
|
- menuItems = Collections.synchronizedMap(new HashMap<FrameContainer,
|
95
|
|
- FrameContainerMenuItem>());
|
|
90
|
+ menus = Collections.synchronizedMap(
|
|
91
|
+ new HashMap<FrameContainer, FrameContainerMenu>());
|
|
92
|
+ items = Collections.synchronizedMap(
|
|
93
|
+ new HashMap<FrameContainer, FrameContainerMenuItem>());
|
|
94
|
+ menuItems = Collections.synchronizedMap(
|
|
95
|
+ new HashMap<FrameContainer, FrameContainerMenuItem>());
|
96
|
96
|
|
97
|
97
|
setText("Window");
|
98
|
98
|
setMnemonic('w');
|
|
@@ -259,16 +259,22 @@ public final class WindowMenuFrameManager extends JMenu implements
|
259
|
259
|
/** {@inheritDoc} */
|
260
|
260
|
@Override
|
261
|
261
|
public void selectionChanged(final Window window) {
|
262
|
|
- activeWindow = window;
|
263
|
|
- //iterate over menu items seperately here to simplify code in listeners
|
264
|
|
- for (SelectionListener menuItem : menus.values()) {
|
265
|
|
- menuItem.selectionChanged(window);
|
266
|
|
- }
|
267
|
|
- for (SelectionListener menuItem : items.values()) {
|
268
|
|
- menuItem.selectionChanged(window);
|
269
|
|
- }
|
270
|
|
- for (SelectionListener menuItem : menuItems.values()) {
|
271
|
|
- menuItem.selectionChanged(window);
|
|
262
|
+ synchronized (menus) {
|
|
263
|
+ synchronized (items) {
|
|
264
|
+ synchronized (menuItems) {
|
|
265
|
+ activeWindow = window;
|
|
266
|
+ //iterate over menu items seperately here to simplify code in listeners
|
|
267
|
+ for (SelectionListener menuItem : menus.values()) {
|
|
268
|
+ menuItem.selectionChanged(window);
|
|
269
|
+ }
|
|
270
|
+ for (SelectionListener menuItem : items.values()) {
|
|
271
|
+ menuItem.selectionChanged(window);
|
|
272
|
+ }
|
|
273
|
+ for (SelectionListener menuItem : menuItems.values()) {
|
|
274
|
+ menuItem.selectionChanged(window);
|
|
275
|
+ }
|
|
276
|
+ }
|
|
277
|
+ }
|
272
|
278
|
}
|
273
|
279
|
}
|
274
|
280
|
|