Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadReferrersTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadReferrersTask.java	(revision 3224)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadReferrersTask.java	(revision 3225)
@@ -164,5 +164,4 @@
                 new Runnable() {
                     public void run() {
-                        targetLayer.fireDataChange();
                         targetLayer.onPostDownloadFromServer();
                         Main.map.mapView.repaint();
Index: trunk/src/org/openstreetmap/josm/data/UndoRedoHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/UndoRedoHandler.java	(revision 3224)
+++ trunk/src/org/openstreetmap/josm/data/UndoRedoHandler.java	(revision 3225)
@@ -12,5 +12,4 @@
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.layer.Layer;
-import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer.CommandQueueListener;
 
@@ -48,8 +47,4 @@
 
     public void afterAdd() {
-        if (Main.map != null && Main.map.mapView.getActiveLayer() instanceof OsmDataLayer) {
-            OsmDataLayer data = (OsmDataLayer)Main.map.mapView.getActiveLayer();
-            data.fireDataChange();
-        }
         fireCommandsChanged();
 
@@ -76,8 +71,4 @@
         c.undoCommand();
         redoCommands.push(c);
-        if (Main.map != null && Main.map.mapView.getActiveLayer() instanceof OsmDataLayer) {
-            OsmDataLayer data = (OsmDataLayer)Main.map.mapView.getActiveLayer();
-            data.fireDataChange();
-        }
         fireCommandsChanged();
         Collection<? extends OsmPrimitive> newSelection = Main.main.getCurrentDataSet().getSelected();
@@ -98,8 +89,4 @@
         c.executeCommand();
         commands.add(c);
-        if (Main.map != null && Main.map.mapView.getActiveLayer() instanceof OsmDataLayer) {
-            OsmDataLayer data = (OsmDataLayer)Main.map.mapView.getActiveLayer();
-            data.fireDataChange();
-        }
         fireCommandsChanged();
         Collection<? extends OsmPrimitive> newSelection = Main.main.getCurrentDataSet().getSelected();
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java	(revision 3224)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java	(revision 3225)
@@ -23,5 +23,4 @@
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
-import javax.swing.SwingUtilities;
 import javax.swing.event.TreeSelectionEvent;
 import javax.swing.event.TreeSelectionListener;
@@ -330,6 +329,6 @@
                                 "There were {0} conflicts during import.",
                                 conflictsCount, conflictsCount),
-                        trn("Conflict in data", "Conflicts in data", conflictsCount),
-                        JOptionPane.WARNING_MESSAGE
+                                trn("Conflict in data", "Conflicts in data", conflictsCount),
+                                JOptionPane.WARNING_MESSAGE
                 );
             }
@@ -384,13 +383,4 @@
                 final DataSetMerger visitor = new DataSetMerger(getLayer().data, ds);
                 visitor.merge();
-                // FIXME: this is necessary because there are dialogs listening
-                // for DataChangeEvents which manipulate Swing components on this
-                // thread.
-                //
-                SwingUtilities.invokeLater(new Runnable() {
-                    public void run() {
-                        getLayer().fireDataChange();
-                    }
-                });
                 if (!visitor.getConflicts().isEmpty()) {
                     getLayer().getConflicts().add(visitor.getConflicts());
@@ -485,6 +475,6 @@
                                 "There were {0} conflicts during import.",
                                 conflictsCount, conflictsCount),
-                        trn("Conflict in data", "Conflicts in data", conflictsCount),
-                        JOptionPane.WARNING_MESSAGE
+                                trn("Conflict in data", "Conflicts in data", conflictsCount),
+                                JOptionPane.WARNING_MESSAGE
                 );
             }
@@ -495,13 +485,4 @@
                 final DataSetMerger visitor = new DataSetMerger(getLayer().data, dataSet);
                 visitor.merge();
-                // FIXME: this is necessary because there are dialogs listening
-                // for DataChangeEvents which manipulate Swing components on this
-                // thread.
-                //
-                SwingUtilities.invokeLater(new Runnable() {
-                    public void run() {
-                        getLayer().fireDataChange();
-                    }
-                });
                 if (!visitor.getConflicts().isEmpty()) {
                     getLayer().getConflicts().add(visitor.getConflicts());
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 3224)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 3225)
@@ -69,5 +69,4 @@
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList;
-import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -1074,5 +1073,4 @@
             Main.main.undoRedo.add(new ChangeCommand(getRelation(), editedRelation));
             getLayer().data.fireSelectionChanged();
-            getLayer().fireDataChange();
             // this will refresh the snapshot and update the dialog title
             //
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java	(revision 3224)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java	(revision 3225)
@@ -174,5 +174,4 @@
                         new Runnable() {
                             public void run() {
-                                getLayer().fireDataChange();
                                 getLayer().onPostDownloadFromServer();
                             }
Index: trunk/src/org/openstreetmap/josm/gui/io/UploadLayerTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/UploadLayerTask.java	(revision 3224)
+++ trunk/src/org/openstreetmap/josm/gui/io/UploadLayerTask.java	(revision 3225)
@@ -146,5 +146,4 @@
             return;
         layer.cleanupAfterUpload(processedPrimitives);
-        layer.fireDataChange();
         layer.onPostUploadToServer();
 
Index: trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java	(revision 3224)
+++ trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java	(revision 3225)
@@ -212,5 +212,4 @@
             public void run() {
                 layer.cleanupAfterUpload(processedPrimitives);
-                layer.fireDataChange();
                 layer.onPostUploadToServer();
                 ChangesetCache.getInstance().update(changeset);
Index: trunk/src/org/openstreetmap/josm/gui/layer/DataChangeListener.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/DataChangeListener.java	(revision 3224)
+++ 	(revision )
@@ -1,17 +1,0 @@
-// License: GPL. Copyright 2007 by Immanuel Scholz and others
-package org.openstreetmap.josm.gui.layer;
-
-import org.openstreetmap.josm.data.osm.event.DataSetListener;
-
-/**
- * 
- * 
- * @deprecated Use {@link DataSetListener} instead
- */
-@Deprecated
-public interface DataChangeListener {
-
-    @Deprecated
-    public void dataChanged(OsmDataLayer l);
-
-}
Index: trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 3224)
+++ trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 3225)
@@ -25,5 +25,4 @@
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.LinkedList;
 import java.util.Map;
 
@@ -165,11 +164,4 @@
 
     /**
-     * @deprecated Use {@link DataSet#addDataSetListener(org.openstreetmap.josm.data.osm.event.DataSetListener)} instead
-     * @see DataSetListener, DatasetEventManager
-     */
-    @Deprecated
-    public final LinkedList<DataChangeListener> listenerDataChanged = new LinkedList<DataChangeListener>();
-
-    /**
      * a paint texture for non-downloaded area
      */
@@ -330,5 +322,4 @@
             Main.main.undoRedo.add(cmd);
         }
-        fireDataChange();
         // repaint to make sure new data is displayed properly.
         Main.map.mapView.repaint();
@@ -546,12 +537,4 @@
     }
 
-    public void fireDataChange() {
-        setRequiresSaveToFile(true);
-        setRequiresUploadToServer(true);
-        for (DataChangeListener dcl : listenerDataChanged) {
-            dcl.dataChanged(this);
-        }
-    }
-
     public static GpxData toGpxData(DataSet data, File file) {
         GpxData gpxData = new GpxData();
@@ -739,4 +722,6 @@
     public void processDatasetEvent(AbstractDatasetChangedEvent event) {
         isChanged = true;
+        setRequiresSaveToFile(true);
+        setRequiresUploadToServer(true);
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/MapPaintPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/MapPaintPreference.java	(revision 3224)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/MapPaintPreference.java	(revision 3225)
@@ -83,6 +83,6 @@
 
     public boolean ok() {
-        Boolean restart = Main.pref.put("mappaint.style.enable-defaults", enableDefault.getSelectedObjects() != null);
-        if(Main.pref.put("mappaint.icon.enable-defaults", enableIconDefault.getSelectedObjects() != null)) {
+        Boolean restart = Main.pref.put("mappaint.style.enable-defaults", enableDefault.isSelected());
+        if(Main.pref.put("mappaint.icon.enable-defaults", enableIconDefault.isSelected())) {
             restart = true;
         }
Index: trunk/src/org/openstreetmap/josm/io/OsmImporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmImporter.java	(revision 3224)
+++ trunk/src/org/openstreetmap/josm/io/OsmImporter.java	(revision 3225)
@@ -47,5 +47,4 @@
             public void run() {
                 Main.main.addLayer(layer);
-                layer.fireDataChange();
                 layer.onPostLoadFromFile();
             }
