Index: applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapLayer.java
===================================================================
--- applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapLayer.java	(revision 18805)
+++ applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapLayer.java	(revision 19050)
@@ -39,4 +39,5 @@
 import org.openstreetmap.josm.actions.RenameLayerAction;
 import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.data.Preferences.PreferenceChangeEvent;
 import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -212,5 +213,5 @@
 
         // FIXME: currently ran in errors
-		
+
 		tileOptionMenu.add(new JMenuItem(
                 new AbstractAction(tr("Snap to tile size")) {
@@ -251,13 +252,15 @@
                 });
 
-                listeners.add(new LayerChangeListener() {
+                addLayerChangeListener(new LayerChangeListener() {
                     public void activeLayerChange(Layer oldLayer, Layer newLayer) {
+                    	//
                     }
 
                     public void layerAdded(Layer newLayer) {
+                    	//
                     }
 
                     public void layerRemoved(Layer oldLayer) {
-                        Main.pref.listener.remove(SlippyMapLayer.this);
+                        Main.pref.addPreferenceChangeListener(SlippyMapLayer.this);
                     }
                 });
@@ -265,5 +268,5 @@
         });
 
-        Main.pref.listener.add(this);
+        Main.pref.addPreferenceChangeListener(this);
     }
 
@@ -795,15 +798,4 @@
                     out("queued to load: " + nr_queued + "/" + tiles.size() + " tiles at zoom: " + zoom);
         }
-        boolean topTile(Tile t) {
-            if (t.getYtile() == z12y0 )
-                return true;
-            return false;
-        }
-
-        boolean leftTile(Tile t) {
-            if (t.getXtile() == z12x0 )
-                return true;
-            return false;
-        }
     }
 
@@ -1032,7 +1024,4 @@
     }
 
-    private static int nr_loaded = 0;
-    private static int at_zoom = -1;
-
     /*
      * (non-Javadoc)
@@ -1041,14 +1030,14 @@
      * preferenceChanged(java.lang.String, java.lang.String)
      */
-    public void preferenceChanged(String key, String newValue) {
-        if (key.startsWith(SlippyMapPreferences.PREFERENCE_PREFIX)) {
+    public void preferenceChanged(PreferenceChangeEvent event) {
+        if (event.getKey().startsWith(SlippyMapPreferences.PREFERENCE_PREFIX)) {
             // System.err.println(this + ".preferenceChanged('" + key + "', '"
             // + newValue + "') called");
             // when fade background changed, no need to clear tile storage
             // TODO move this code to SlippyMapPreferences class.
-            if (!key.equals(SlippyMapPreferences.PREFERENCE_FADE_BACKGROUND)) {
+            if (!event.getKey().equals(SlippyMapPreferences.PREFERENCE_FADE_BACKGROUND)) {
                 autoZoomPopup.setSelected(SlippyMapPreferences.getAutozoom());
             }
-            if (key.equals(SlippyMapPreferences.PREFERENCE_TILE_SOURCE)) {
+            if (event.getKey().equals(SlippyMapPreferences.PREFERENCE_TILE_SOURCE)) {
                 newTileStorage();
             }
@@ -1059,5 +1048,5 @@
     @Override
     public void destroy() {
-        Main.pref.listener.remove(SlippyMapLayer.this);
+        Main.pref.removePreferenceChangeListener(SlippyMapLayer.this);
     }
 }
