From b03c2263737a1a9277fd7f794e33571ef3f671fa Mon Sep 17 00:00:00 2001 From: Tobrun Date: Wed, 10 Jan 2018 14:53:28 +0100 Subject: [android] - check if the render surface has been correctly created before destroying the map --- .../src/main/java/com/mapbox/mapboxsdk/maps/MapView.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java index d03882b5c7..c5b7159e8c 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java @@ -75,6 +75,7 @@ public class MapView extends FrameLayout { private NativeMapView nativeMapView; private MapboxMapOptions mapboxMapOptions; private boolean destroyed; + private boolean hasSurface; private MyLocationView myLocationView; private CompassView compassView; @@ -321,6 +322,7 @@ public class MapView extends FrameLayout { } private void initRenderSurface() { + hasSurface = true; post(new Runnable() { @Override public void run() { @@ -409,7 +411,7 @@ public class MapView extends FrameLayout { destroyed = true; mapCallback.clearOnMapReadyCallbacks(); - if (nativeMapView != null) { + if (nativeMapView != null && hasSurface) { // null when destroying an activity programmatically mapbox-navigation-android/issues/503 nativeMapView.destroy(); nativeMapView = null; -- cgit v1.2.1