summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLMapSnapshotter.mm
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/MGLMapSnapshotter.mm')
-rw-r--r--platform/darwin/src/MGLMapSnapshotter.mm12
1 files changed, 10 insertions, 2 deletions
diff --git a/platform/darwin/src/MGLMapSnapshotter.mm b/platform/darwin/src/MGLMapSnapshotter.mm
index afcfc91109..e12ff43113 100644
--- a/platform/darwin/src/MGLMapSnapshotter.mm
+++ b/platform/darwin/src/MGLMapSnapshotter.mm
@@ -119,6 +119,7 @@ const CGFloat MGLSnapshotterMinimumPixelSize = 64;
@property (nonatomic) BOOL terminated;
@property (nonatomic) dispatch_queue_t resultQueue;
@property (nonatomic, copy) MGLMapSnapshotCompletionHandler completion;
+@property (nonatomic) MGLOfflineStorage *offlineStorage;
+ (void)completeWithErrorCode:(MGLErrorCode)errorCode description:(nonnull NSString*)description onQueue:(dispatch_queue_t)queue completion:(MGLMapSnapshotCompletionHandler)completion;
@end
@@ -148,11 +149,12 @@ const CGFloat MGLSnapshotterMinimumPixelSize = 64;
return nil;
}
-- (instancetype)initWithOptions:(MGLMapSnapshotOptions *)options
+- (instancetype)initWithOptions:(MGLMapSnapshotOptions *)options offlineStorage:(MGLOfflineStorage *)offlineStorage
{
MGLLogDebug(@"Initializing withOptions: %@", options);
self = [super init];
if (self) {
+ _offlineStorage = offlineStorage;
[self setOptions:options];
#if TARGET_OS_IPHONE
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillTerminate:) name:UIApplicationWillTerminateNotification object:nil];
@@ -587,7 +589,13 @@ const CGFloat MGLSnapshotterMinimumPixelSize = 64;
_cancelled = NO;
_options = options;
- mbgl::DefaultFileSource *mbglFileSource = [MGLOfflineStorage sharedOfflineStorage].mbglFileSource;
+ mbgl::DefaultFileSource *mbglFileSource = self.offlineStorage.mbglFileSource;
+
+ if (!mbglFileSource) {
+ [self cancel];
+ }
+
+
_mbglThreadPool = mbgl::sharedThreadPool();
std::string styleURL = std::string([options.styleURL.absoluteString UTF8String]);