diff --git a/src/org/openstreetmap/josm/gui/MapView.java b/src/org/openstreetmap/josm/gui/MapView.java
index 4804363..f505f90 100644
a
|
b
|
LayerManager.LayerChangeListener, MainLayerManager.ActiveLayerChangeListener {
|
631 | 631 | Layer layer = e.getAddedLayer(); |
632 | 632 | registeredLayers.put(layer, new WarningLayerPainter(layer)); |
633 | 633 | // Layers may trigger a redraw during this call if they open dialogs. |
634 | | registeredLayers.put(layer, layer.attachToMapView(new MapViewEvent(this, false))); |
| 634 | LayerPainter painter = layer.attachToMapView(new MapViewEvent(this, false)); |
| 635 | if (!registeredLayers.containsKey(layer)) { |
| 636 | // The layer may have removed itself during attachToMapView() |
| 637 | Main.warn("Layer was removed during attachToMapView()"); |
| 638 | } else { |
| 639 | registeredLayers.put(layer, painter); |
635 | 640 | |
636 | | ProjectionBounds viewProjectionBounds = layer.getViewProjectionBounds(); |
637 | | if (viewProjectionBounds != null) { |
638 | | scheduleZoomTo(new ViewportData(viewProjectionBounds)); |
639 | | } |
| 641 | ProjectionBounds viewProjectionBounds = layer.getViewProjectionBounds(); |
| 642 | if (viewProjectionBounds != null) { |
| 643 | scheduleZoomTo(new ViewportData(viewProjectionBounds)); |
| 644 | } |
640 | 645 | |
641 | | layer.addPropertyChangeListener(this); |
642 | | Main.addProjectionChangeListener(layer); |
643 | | invalidatedListener.addTo(layer); |
644 | | AudioPlayer.reset(); |
| 646 | layer.addPropertyChangeListener(this); |
| 647 | Main.addProjectionChangeListener(layer); |
| 648 | invalidatedListener.addTo(layer); |
| 649 | AudioPlayer.reset(); |
645 | 650 | |
646 | | repaint(); |
| 651 | repaint(); |
| 652 | } |
647 | 653 | } catch (RuntimeException t) { |
648 | 654 | throw BugReport.intercept(t).put("layer", e.getAddedLayer()); |
649 | 655 | } |