Ignore:
Timestamp:
20.07.2010 08:54:22 (22 months ago)
Author:
jttt
Message:

Fix #2662 Auto-save

File:
1 edited

Legend:

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

    r3362 r3378  
    1515import java.util.List; 
    1616import java.util.Map; 
     17import java.util.concurrent.CopyOnWriteArrayList; 
    1718import java.util.concurrent.locks.Lock; 
    1819import java.util.concurrent.locks.ReadWriteLock; 
     
    6970    private Storage<OsmPrimitive> allPrimitives = new Storage<OsmPrimitive>(new IdHash(), 16, true); 
    7071    private Map<PrimitiveId, OsmPrimitive> primitivesMap = allPrimitives.foreignKey(new IdHash()); 
    71     private List<DataSetListener> listeners = new ArrayList<DataSetListener>(); 
     72    private CopyOnWriteArrayList<DataSetListener> listeners = new CopyOnWriteArrayList<DataSetListener>(); 
    7273 
    7374    // Number of open calls to beginUpdate 
     
    839840 
    840841    public void addDataSetListener(DataSetListener dsl) { 
    841         listeners.add(dsl); 
     842        listeners.addIfAbsent(dsl); 
    842843    } 
    843844 
     
    10011002     * Marks all "invisible" objects as deleted. These objects should be always marked as 
    10021003     * deleted when downloaded from the server. They can be undeleted later if necessary. 
    1003      *  
     1004     * 
    10041005     */ 
    10051006    public void deleteInvisible() { 
Note: See TracChangeset for help on using the changeset viewer.