diff options
author | Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> | 2021-03-21 21:18:53 +0200 |
---|---|---|
committer | Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> | 2021-03-25 03:17:40 +0200 |
commit | ec76bad655b105916693c7a415b7c7cf0a924f16 (patch) | |
tree | 79f958800f773b34588234a643494e6e17e40474 /depends/patches/qt | |
parent | ed49203daabb6550d44518792c30faad64bf9a9f (diff) | |
download | bitcoin-ec76bad655b105916693c7a415b7c7cf0a924f16.tar.xz |
build, qt: Fix static builds on macOS Big Sur
See details and the patch: https://bugreports.qt.io/browse/QTBUG-87014
Diffstat (limited to 'depends/patches/qt')
-rw-r--r-- | depends/patches/qt/fix_bigsur_drawing.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/depends/patches/qt/fix_bigsur_drawing.patch b/depends/patches/qt/fix_bigsur_drawing.patch new file mode 100644 index 0000000000..98c0c6be30 --- /dev/null +++ b/depends/patches/qt/fix_bigsur_drawing.patch @@ -0,0 +1,31 @@ +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 |