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

Reply via email to