diff options
Diffstat (limited to 'platform')
-rw-r--r-- | platform/darwin/src/MGLOfflineTask.mm | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/platform/darwin/src/MGLOfflineTask.mm b/platform/darwin/src/MGLOfflineTask.mm index 4698a492fe..d105218ed7 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 <MGLOfflineRegion>)region { |