summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinh Nguyễn <mxn@1ec5.org>2016-03-10 16:04:18 -0800
committerMinh Nguyễn <mxn@1ec5.org>2016-03-10 17:14:14 -0800
commitee20fd8fd8912faa7662e4ea61aaaf9368af4048 (patch)
tree4116c8fe8681f773db432cf4d7e2b89caad134b6
parent7fa3b92429185eb3749c9f547839712c8a0faf2b (diff)
downloadqtlocation-mapboxgl-ee20fd8fd8912faa7662e4ea61aaaf9368af4048.tar.gz
[ios, osx] Avoid unregistering observer for invalid task
-rw-r--r--platform/darwin/src/MGLOfflineTask.mm6
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 {