Ignore:
Timestamp:
2009-12-19T14:06:51+01:00 (14 years ago)
Author:
jttt
Message:

Do not update properties and selection dialogs when hidden

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/event/DatasetEventManager.java

    r2652 r2658  
    22package org.openstreetmap.josm.data.osm.event;
    33
    4 import java.util.ArrayList;
    5 import java.util.List;
    64import java.util.Queue;
     5import java.util.concurrent.CopyOnWriteArrayList;
    76import java.util.concurrent.LinkedBlockingQueue;
    87
     
    3231
    3332    private final Queue<AbstractDatasetChangedEvent> eventsInEDT = new LinkedBlockingQueue<AbstractDatasetChangedEvent>();
    34     private final List<DataSetListener> inEDTListeners = new ArrayList<DataSetListener>();
    35     private final List<DataSetListener> normalListeners = new ArrayList<DataSetListener>();
     33    private final CopyOnWriteArrayList<DataSetListener> inEDTListeners = new CopyOnWriteArrayList<DataSetListener>();
     34    private final CopyOnWriteArrayList<DataSetListener> normalListeners = new CopyOnWriteArrayList<DataSetListener>();
    3635    private final DataSetListener myListener = new DataSetListenerAdapter(this);
    3736
     
    4847    public void addDatasetListener(DataSetListener listener, boolean fireInEDT) {
    4948        if (fireInEDT) {
    50             inEDTListeners.add(listener);
     49            inEDTListeners.addIfAbsent(listener);
    5150        } else {
    52             normalListeners.add(listener);
     51            normalListeners.addIfAbsent(listener);
    5352        }
    5453    }
Note: See TracChangeset for help on using the changeset viewer.