summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinh Nguyễn <mxn@1ec5.org>2016-03-07 13:55:41 -0800
committerMinh Nguyễn <mxn@1ec5.org>2016-03-10 17:08:58 -0800
commite218728f3ac5f4924615713136a642168d19029b (patch)
tree7d339ba623f2f58e1f1bee1dbd2289cc1a234c6b
parent8824237e2df9d9bfb9cd618e762e74d8ab08c099 (diff)
downloadqtlocation-mapboxgl-e218728f3ac5f4924615713136a642168d19029b.tar.gz
[ios, osx] Fixed crash interacting with MGLOfflineTask
Added a missing conditional to the invalidation checking macro that I factored out at the last minute.
-rw-r--r--platform/darwin/src/MGLOfflineTask.mm14
1 files changed, 9 insertions, 5 deletions
diff --git a/platform/darwin/src/MGLOfflineTask.mm b/platform/darwin/src/MGLOfflineTask.mm
index f1e8bdb566..d57ae66056 100644
--- a/platform/darwin/src/MGLOfflineTask.mm
+++ b/platform/darwin/src/MGLOfflineTask.mm
@@ -8,11 +8,15 @@
#include <mbgl/util/string.hpp>
#define MGLAssertOfflineTaskIsValid() \
- [NSException raise:@"Invalid offline task" \
- format: \
- @"-[MGLOfflineStorage removeTask:withCompletionHandler:] has been called " \
- @"on this instance of MGLOfflineTask, rendering it invalid. It is an " \
- @"error to send any message to this task."]
+ do { \
+ if (_state == MGLOfflineTaskStateInvalid) { \
+ [NSException raise:@"Invalid offline task" \
+ format: \
+ @"-[MGLOfflineStorage removeTask:withCompletionHandler:] has been called " \
+ @"on this instance of MGLOfflineTask, rendering it invalid. It is an " \
+ @"error to send any message to this task."]; \
+ } \
+ } while (NO);
class MBGLOfflineRegionObserver;