diff options
Diffstat (limited to 'platform/android/src/native_map_view.cpp')
-rwxr-xr-x | platform/android/src/native_map_view.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index 872022c8e4..c76b5c2610 100755 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -225,7 +225,10 @@ void NativeMapView::onDidBecomeIdle() { android::UniqueEnv _env = android::AttachEnv(); static auto& javaClass = jni::Class<NativeMapView>::Singleton(*_env); static auto onDidBecomeIdle = javaClass.GetMethod<void ()>(*_env, "onDidBecomeIdle"); - javaPeer.get(*_env).Call(*_env, onDidBecomeIdle); + auto weakReference = javaPeer.get(*_env); + if (weakReference) { + weakReference.Call(*_env, onDidBecomeIdle); + } } void NativeMapView::onDidFinishLoadingStyle() { @@ -501,7 +504,10 @@ void NativeMapView::scheduleSnapshot(jni::JNIEnv&) { // invoke Mapview#OnSnapshotReady static auto& javaClass = jni::Class<NativeMapView>::Singleton(*_env); static auto onSnapshotReady = javaClass.GetMethod<void (jni::Object<Bitmap>)>(*_env, "onSnapshotReady"); - javaPeer.get(*_env).Call(*_env, onSnapshotReady, bitmap); + auto weakReference = javaPeer.get(*_env); + if (weakReference) { + weakReference.Call(*_env, onSnapshotReady, bitmap); + } }); } |