From 08a63c3b498d14db275b8c349d64d5349c4f03cc Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Fri, 14 Aug 2020 15:52:48 +0200 Subject: [PATCH] use common contentScaleFactor also for DPI on macOS and give a reasonable default for missing tlw --- src/osx/cocoa/window.mm | 5 ++++- src/osx/window_osx.cpp | 8 +------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm index 62fb443d5e..80a0838032 100644 --- a/src/osx/cocoa/window.mm +++ b/src/osx/cocoa/window.mm @@ -2648,7 +2648,10 @@ void wxWidgetCocoaImpl::SetVisibility( bool visible ) double wxWidgetCocoaImpl::GetContentScaleFactor() const { NSWindow* tlw = [m_osxView window]; - return [tlw backingScaleFactor]; + if ( tlw ) + return [tlw backingScaleFactor]; + else + return wxOSXGetMainScreenContentScaleFactor(); } // ---------------------------------------------------------------------------- diff --git a/src/osx/window_osx.cpp b/src/osx/window_osx.cpp index 65dd5d2fed..46fa8188a1 100644 --- a/src/osx/window_osx.cpp +++ b/src/osx/window_osx.cpp @@ -2636,13 +2636,7 @@ wxSize wxWindowMac::GetDPI() const // on mac ContentScale and DPIScale are identical double wxWindowMac::GetDPIScaleFactor() const { - double scaleFactor; - if ( wxNonOwnedWindow* tlw = MacGetTopLevelWindow() ) - scaleFactor = tlw->GetContentScaleFactor(); - else - scaleFactor = wxOSXGetMainScreenContentScaleFactor(); - - return scaleFactor; + return GetContentScaleFactor(); }