diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-09-30 20:28:15 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-10-01 09:35:32 +0300 |
commit | 786870e26f83ec68f80ccd1fb5ba519a0bf893f6 (patch) | |
tree | 1d1ce229e18bff8a7450497c046b07629e289262 /intern | |
parent | d6ca699d7e62321e568a579f2045763abaaccfaf (diff) |
Fix T56909: wrong interface scale on macOS 10.14, when using 10.14 SDK.
This does not affect existing releases as far as I can tell, only new builds
using the new SDK have the problem.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/ghost/intern/GHOST_WindowCocoa.mm | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm index 20060ac1267..79d2f304e60 100644 --- a/intern/ghost/intern/GHOST_WindowCocoa.mm +++ b/intern/ghost/intern/GHOST_WindowCocoa.mm @@ -551,7 +551,15 @@ GHOST_WindowCocoa::GHOST_WindowCocoa( //Creates the OpenGL View inside the window m_openGLView = [[CocoaOpenGLView alloc] initWithFrame:rect]; - + + if (m_systemCocoa->m_nativePixel) { + // Needs to happen early when building with the 10.14 SDK, otherwise + // has no effect until resizeing the window. + if ([m_openGLView respondsToSelector:@selector(setWantsBestResolutionOpenGLSurface:)]) { + [m_openGLView setWantsBestResolutionOpenGLSurface:YES]; + } + } + [m_openGLView setSystemAndWindowCocoa:systemCocoa windowCocoa:this]; [m_window setContentView:m_openGLView]; @@ -563,14 +571,9 @@ GHOST_WindowCocoa::GHOST_WindowCocoa( updateDrawingContext(); activateDrawingContext(); - // XXX jwilkins: This seems like it belongs in GHOST_ContextCGL, but probably not GHOST_ContextEGL if (m_systemCocoa->m_nativePixel) { - if ([m_openGLView respondsToSelector:@selector(setWantsBestResolutionOpenGLSurface:)]) { - [m_openGLView setWantsBestResolutionOpenGLSurface:YES]; - - NSRect backingBounds = [m_openGLView convertRectToBacking:[m_openGLView bounds]]; - m_nativePixelSize = (float)backingBounds.size.width / (float)rect.size.width; - } + NSRect backingBounds = [m_openGLView convertRectToBacking:[m_openGLView bounds]]; + m_nativePixelSize = (float)backingBounds.size.width / (float)rect.size.width; } setTitle(title); |