Layers: catch ArrayIndexOutOfBoundsException in updateLayers, #596

This commit is contained in:
Emux 2018-10-21 17:21:21 +03:00
parent 85c604c1ee
commit 292c092be3
No known key found for this signature in database
GPG Key ID: 64ED9980896038C3

View File

@ -29,6 +29,8 @@ import org.oscim.layers.tile.ZoomLimiter;
import org.oscim.map.Map.InputListener;
import org.oscim.map.Map.UpdateListener;
import org.oscim.renderer.LayerRenderer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.AbstractList;
import java.util.ArrayList;
@ -38,6 +40,8 @@ import java.util.concurrent.CopyOnWriteArrayList;
public final class Layers extends AbstractList<Layer> {
private static final Logger log = LoggerFactory.getLogger(Layers.class);
private final Map mMap;
private final Layer.EnableHandler mEnableHandler;
@ -248,6 +252,7 @@ public final class Layers extends AbstractList<Layer> {
}
private synchronized void updateLayers() {
try {
mLayers = new Layer[mLayerList.size()];
int numRenderLayers = 0;
@ -287,5 +292,8 @@ public final class Layers extends AbstractList<Layer> {
}
mDirtyLayers = false;
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
}