From 77548d14db6c979a380203a1fd8a7de8b61cde5e Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Wed, 20 Sep 2017 19:59:34 -0400 Subject: [PATCH] Ensures self.bounds and -convertSizeToBacking: are called only on the main queue. --- OSBindings/Mac/Clock Signal/Views/CSOpenGLView.m | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/OSBindings/Mac/Clock Signal/Views/CSOpenGLView.m b/OSBindings/Mac/Clock Signal/Views/CSOpenGLView.m index 0e6330dcc..1a9d87ed8 100644 --- a/OSBindings/Mac/Clock Signal/Views/CSOpenGLView.m +++ b/OSBindings/Mac/Clock Signal/Views/CSOpenGLView.m @@ -15,6 +15,7 @@ @implementation CSOpenGLView { CVDisplayLinkRef _displayLink; + CGSize _backingSize; } - (void)prepareOpenGL @@ -68,12 +69,17 @@ static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeSt - (CGSize)backingSize { - return [self convertSizeToBacking:self.bounds.size]; + @synchronized(self) { + return _backingSize; + } } - (void)reshape { [super reshape]; + @synchronized(self) { + _backingSize = [self convertSizeToBacking:self.bounds.size]; + } [self performWithGLContext:^{ CGSize viewSize = [self backingSize];