summaryrefslogtreecommitdiff
path: root/platform/ios/src/MGLMapView.mm
diff options
context:
space:
mode:
authorJulian Rex <julian.rex@gmail.com>2019-03-01 16:04:37 -0500
committerGitHub <noreply@github.com>2019-03-01 16:04:37 -0500
commit405e20e3c8e1ba489fb48ad76fcbe5738ce643b3 (patch)
tree443e9cc6be0fd7ccc76bb60b35015c1c6ff44ef4 /platform/ios/src/MGLMapView.mm
parent67a9dc35bf0c0113d429161be2c125e75981fb5d (diff)
downloadqtlocation-mapboxgl-405e20e3c8e1ba489fb48ad76fcbe5738ce643b3.tar.gz
[ios] CADisplayLink method now takes a parameter as required. (#14018)
Diffstat (limited to 'platform/ios/src/MGLMapView.mm')
-rw-r--r--platform/ios/src/MGLMapView.mm10
1 files changed, 7 insertions, 3 deletions
diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm
index f5b51330a0..f9ccab1422 100644
--- a/platform/ios/src/MGLMapView.mm
+++ b/platform/ios/src/MGLMapView.mm
@@ -1162,10 +1162,14 @@ public:
#pragma mark - Life Cycle -
-- (void)updateFromDisplayLink
+- (void)updateFromDisplayLink:(CADisplayLink *)displayLink
{
MGLAssertIsMainThread();
+ if (displayLink && displayLink != _displayLink) {
+ return;
+ }
+
if (_needsDisplayRefresh)
{
_needsDisplayRefresh = NO;
@@ -1231,11 +1235,11 @@ public:
self.mbglMap.setConstrainMode(mbgl::ConstrainMode::HeightOnly);
}
- _displayLink = [self.window.screen displayLinkWithTarget:self selector:@selector(updateFromDisplayLink)];
+ _displayLink = [self.window.screen displayLinkWithTarget:self selector:@selector(updateFromDisplayLink:)];
[self updateDisplayLinkPreferredFramesPerSecond];
[_displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
_needsDisplayRefresh = YES;
- [self updateFromDisplayLink];
+ [self updateFromDisplayLink:_displayLink];
}
else if ( ! isVisible && _displayLink)
{