diff options
author | Volker Krause <vkrause@kde.org> | 2022-01-21 16:01:35 +0100 |
---|---|---|
committer | Volker Krause <vkrause@kde.org> | 2022-01-22 12:35:06 +0100 |
commit | 41d37407e80f5ccd110cf303c20a181f95fa7e73 (patch) | |
tree | bc343cd6335934f9be8be7855d9398c32b35bcd3 /autotests/kconfig_compiler/test_emptyentries.cpp.ref | |
parent | 3bbe9de5d59a6572f3549cc3a553dd44db421b68 (diff) | |
download | kconfig-41d37407e80f5ccd110cf303c20a181f95fa7e73.tar.gz kconfig-41d37407e80f5ccd110cf303c20a181f95fa7e73.tar.bz2 |
Make singleton teardown work with Qt6 as well
In Qt6 the Q_GLOBAL_STATIC will already report to be null while it is in
the process of being deleted, we therefore cannot access it anymore from
destruction code path as we did before.
This problem is hit for example by the Breeze style, making all 6 based
widgets applications crash on exit without this.
Diffstat (limited to 'autotests/kconfig_compiler/test_emptyentries.cpp.ref')
-rw-r--r-- | autotests/kconfig_compiler/test_emptyentries.cpp.ref | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/autotests/kconfig_compiler/test_emptyentries.cpp.ref b/autotests/kconfig_compiler/test_emptyentries.cpp.ref index e23ddc3c..3634ba6c 100644 --- a/autotests/kconfig_compiler/test_emptyentries.cpp.ref +++ b/autotests/kconfig_compiler/test_emptyentries.cpp.ref @@ -12,7 +12,7 @@ class QMakeBuilderSettingsHelper { public: QMakeBuilderSettingsHelper() : q(nullptr) {} - ~QMakeBuilderSettingsHelper() { delete q; } + ~QMakeBuilderSettingsHelper() { delete q; q = nullptr; } QMakeBuilderSettingsHelper(const QMakeBuilderSettingsHelper&) = delete; QMakeBuilderSettingsHelper& operator=(const QMakeBuilderSettingsHelper&) = delete; QMakeBuilderSettings *q; @@ -54,6 +54,8 @@ QMakeBuilderSettings::QMakeBuilderSettings( KSharedConfig::Ptr config ) QMakeBuilderSettings::~QMakeBuilderSettings() { - s_globalQMakeBuilderSettings()->q = nullptr; + if (s_globalQMakeBuilderSettings.exists() && !s_globalQMakeBuilderSettings.isDestroyed()) { + s_globalQMakeBuilderSettings()->q = nullptr; + } } |