Revision: 6574 http://sourceforge.net/p/jump-pilot/code/6574 Author: edso Date: 2020-10-04 19:00:16 +0000 (Sun, 04 Oct 2020) Log Message: ----------- prevent a ConcurrentModificationException when 1. create a new task 2. add a new layer 3. right click on category
Modified Paths: -------------- core/trunk/src/com/vividsolutions/jump/workbench/ui/TreeLayerNamePanel.java Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/TreeLayerNamePanel.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/TreeLayerNamePanel.java 2020-10-04 15:14:50 UTC (rev 6573) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/TreeLayerNamePanel.java 2020-10-04 19:00:16 UTC (rev 6574) @@ -155,7 +155,7 @@ private Object popupNode; - private ArrayList listeners = new ArrayList(); + private ArrayList<LayerNamePanelListener> listeners = new ArrayList(); private LayerManagerProxy layerManagerProxy; @@ -908,17 +908,17 @@ return tree; } - public void addListener(LayerNamePanelListener listener) { + public synchronized void addListener(LayerNamePanelListener listener) { listeners.add(listener); } - public void removeListener(LayerNamePanelListener listener) { + public synchronized void removeListener(LayerNamePanelListener listener) { listeners.remove(listener); } - public void fireLayerSelectionChanged() { - for (Iterator i = listeners.iterator(); i.hasNext();) { - LayerNamePanelListener l = (LayerNamePanelListener) i.next(); + public synchronized void fireLayerSelectionChanged() { + for (Iterator<LayerNamePanelListener> i = listeners.iterator(); i.hasNext();) { + LayerNamePanelListener l = i.next(); l.layerSelectionChanged(); } } _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel