diff options
-rw-r--r-- | platform/darwin/src/MGLOfflineTask.mm | 14 |
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; |