From df4d8bab310d7c5e96e237ff6511178e11b36830 Mon Sep 17 00:00:00 2001 From: Julian Rex Date: Wed, 2 May 2018 11:55:58 -0400 Subject: [PATCH] [ios, macos] Raise exception if MGLMapSnapshotter is used from thread without active run loop. --- platform/darwin/src/MGLMapSnapshotter.mm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/platform/darwin/src/MGLMapSnapshotter.mm b/platform/darwin/src/MGLMapSnapshotter.mm index 73db8ea15..a63fbfb0a 100644 --- a/platform/darwin/src/MGLMapSnapshotter.mm +++ b/platform/darwin/src/MGLMapSnapshotter.mm @@ -108,6 +108,11 @@ const CGFloat MGLSnapshotterMinimumPixelSize = 64; - (void)startWithQueue:(dispatch_queue_t)queue completionHandler:(MGLMapSnapshotCompletionHandler)completion { + if (!mbgl::Scheduler::GetCurrent()) { + [NSException raise:NSInvalidArgumentException + format:@"startWithQueue:completionHandler: must be called from a thread with an active run loop."]; + } + if ([self isLoading]) { [NSException raise:NSInternalInconsistencyException format:@"Already started this snapshotter."];