From 8869b08b916a87b50eadaff96f622f3dd89be61b Mon Sep 17 00:00:00 2001
From: Michael Zangl <michael.zangl@student.kit.edu>
Date: Thu, 6 Aug 2015 14:06:03 +0200
Subject: [PATCH 2/3] Revert "Move lock aquires closer to try/catch/finally, to
 silent FindBugs warnings. Addresses: #11689"

This reverts commit 8a813993cf5826a83814a78a2e04cfbfcc76275e.
---
 src/org/openstreetmap/josm/gui/MapView.java | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/org/openstreetmap/josm/gui/MapView.java b/src/org/openstreetmap/josm/gui/MapView.java
index ef6d0e8..c1ec650 100644
--- a/src/org/openstreetmap/josm/gui/MapView.java
+++ b/src/org/openstreetmap/josm/gui/MapView.java
@@ -404,12 +404,11 @@ implements PropertyChangeListener, PreferenceChangedListener, OsmDataLayer.Layer
      */
     public void addLayer(Layer layer) {
         boolean isOsmDataLayer = layer instanceof OsmDataLayer;
+        layerLock.writeLock().lock();
+        layerLock.readLock().lock();
         EnumSet<LayerListenerType> listenersToFire = EnumSet.noneOf(LayerListenerType.class);
         Layer oldActiveLayer = activeLayer;
         OsmDataLayer oldEditLayer = editLayer;
-
-        layerLock.writeLock().lock();
-        layerLock.readLock().lock();
         try {
             try {
                 if (layer instanceof MarkerLayer && playHeadMarker == null) {
@@ -530,12 +529,12 @@ implements PropertyChangeListener, PreferenceChangedListener, OsmDataLayer.Layer
      * @param layer The layer to remove
      */
     public void removeLayer(Layer layer) {
+        layerLock.writeLock().lock();
+        layerLock.readLock().lock();
+
         EnumSet<LayerListenerType> listenersToFire = EnumSet.noneOf(LayerListenerType.class);
         Layer oldActiveLayer = activeLayer;
         OsmDataLayer oldEditLayer = editLayer;
-
-        layerLock.writeLock().lock();
-        layerLock.readLock().lock();
         try {
             try {
                 List<Layer> layersList = new ArrayList<>(layers);
@@ -601,12 +600,11 @@ implements PropertyChangeListener, PreferenceChangedListener, OsmDataLayer.Layer
      * @param pos       The new position of the layer
      */
     public void moveLayer(Layer layer, int pos) {
+        layerLock.writeLock().lock();
+        layerLock.readLock().lock();
         EnumSet<LayerListenerType> listenersToFire;
         Layer oldActiveLayer = activeLayer;
         OsmDataLayer oldEditLayer = editLayer;
-
-        layerLock.writeLock().lock();
-        layerLock.readLock().lock();
         try {
             try {
                 int curLayerPos = layers.indexOf(layer);
-- 
1.9.1

