diff options
author | Minh Nguyễn <mxn@1ec5.org> | 2016-03-07 13:55:41 -0800 |
---|---|---|
committer | Minh Nguyễn <mxn@1ec5.org> | 2016-03-10 17:08:58 -0800 |
commit | e218728f3ac5f4924615713136a642168d19029b (patch) | |
tree | 7d339ba623f2f58e1f1bee1dbd2289cc1a234c6b | |
parent | 8824237e2df9d9bfb9cd618e762e74d8ab08c099 (diff) | |
download | qtlocation-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.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; |