summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2018-04-24 14:01:48 +0200
committerTobrun <tobrun@mapbox.com>2018-04-24 17:34:01 +0200
commita8d22305aa618e4a0ca80e74694a75100a283040 (patch)
tree62fc96751499a72677eb28618ff98b5a90a308f1
parent62b80c32846ea35d9c4f9915dc9c123ffe4fddc3 (diff)
downloadqtlocation-mapboxgl-a8d22305aa618e4a0ca80e74694a75100a283040.tar.gz
[android] - clear map change listeners when map is destroyed
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java1
-rwxr-xr-xplatform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java5
2 files changed, 4 insertions, 2 deletions
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 9227aabdf3..4ecd7c9246 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
@@ -410,6 +410,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
@UiThread
public void onDestroy() {
destroyed = true;
+ onMapChangedListeners.clear();
mapCallback.clearOnMapReadyCallbacks();
if (nativeMapView != null && hasSurface) {
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
index 6ba87b4238..7cae0d0791 100755
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
@@ -100,9 +100,10 @@ final class NativeMapView {
}
public void destroy() {
- nativeDestroy();
- viewCallback = null;
destroyed = true;
+ onMapChangedListeners.clear();
+ viewCallback = null;
+ nativeDestroy();
}
public void update() {