summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;