From ee20fd8fd8912faa7662e4ea61aaaf9368af4048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguye=CC=82=CC=83n?= Date: Thu, 10 Mar 2016 16:04:18 -0800 Subject: [PATCH] [ios, osx] Avoid unregistering observer for invalid task --- platform/darwin/src/MGLOfflineTask.mm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/platform/darwin/src/MGLOfflineTask.mm b/platform/darwin/src/MGLOfflineTask.mm index 4698a492f..d105218ed 100644 --- a/platform/darwin/src/MGLOfflineTask.mm +++ b/platform/darwin/src/MGLOfflineTask.mm @@ -66,8 +66,10 @@ private: } - (void)dealloc { - mbgl::DefaultFileSource *mbglFileSource = [[MGLOfflineStorage sharedOfflineStorage] mbglFileSource]; - mbglFileSource->setOfflineRegionObserver(*_mbglOfflineRegion, nullptr); + if (_mbglOfflineRegion && _state != MGLOfflineTaskStateInvalid) { + mbgl::DefaultFileSource *mbglFileSource = [[MGLOfflineStorage sharedOfflineStorage] mbglFileSource]; + mbglFileSource->setOfflineRegionObserver(*_mbglOfflineRegion, nullptr); + } } - (id )region {