Fix GUI stuck on Big Sur See: - https://github.com/bitcoin-core/gui/issues/249 - https://github.com/bitcoin/bitcoin/pull/21495 - https://bugreports.qt.io/browse/QTBUG-87014 We should be able to drop this once we are using one of the following versions: - Qt 5.12.11 or later, see upstream commit: c5d904639dbd690a36306e2b455610029704d821 - Qt 5.15.3 or later, see upstream commit: 2cae34354bd41ae286258c7a6b3653b746e786ae --- a/qtbase/src/plugins/platforms/cocoa/qnsview_drawing.mm +++ b/qtbase/src/plugins/platforms/cocoa/qnsview_drawing.mm @@ -95,8 +95,15 @@ // by AppKit at a point where we've already set up other parts of the platform plugin // based on the presence of layers or not. Once we've rewritten these parts to support // dynamically picking up layer enablement we can let AppKit do its thing. - return QMacVersion::buildSDK() >= QOperatingSystemVersion::MacOSMojave - && QMacVersion::currentRuntime() >= QOperatingSystemVersion::MacOSMojave; + + if (QMacVersion::currentRuntime() >= QOperatingSystemVersion::MacOSBigSur) + return true; // Big Sur always enables layer-backing, regardless of SDK + + if (QMacVersion::currentRuntime() >= QOperatingSystemVersion::MacOSMojave + && QMacVersion::buildSDK() >= QOperatingSystemVersion::MacOSMojave) + return true; // Mojave and Catalina enable layers based on the app's SDK + + return false; // Prior versions needed explicitly enabled layer backing } - (BOOL)layerExplicitlyRequested