From fef246412098512a0bf7b4e68110c05472f7bd41 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Tue, 12 Oct 2021 10:36:45 +0200 Subject: [PATCH] singletons should be destroyd at program termination --- src/dialogs/QskDialog.cpp | 14 +++----------- src/dialogs/QskDialog.h | 2 -- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/dialogs/QskDialog.cpp b/src/dialogs/QskDialog.cpp index cab266e3..e10db5eb 100644 --- a/src/dialogs/QskDialog.cpp +++ b/src/dialogs/QskDialog.cpp @@ -206,13 +206,8 @@ static QString qskSelectWindow( class QskDialog::PrivateData { public: - PrivateData() - : policy( QskDialog::TopLevelWindow ) - { - } - QPointer< QWindow > transientParent; - QskDialog::Policy policy : 2; + QskDialog::Policy policy = QskDialog::TopLevelWindow; }; QskDialog::QskDialog() @@ -226,11 +221,8 @@ QskDialog::~QskDialog() QskDialog* QskDialog::instance() { - static QskDialog* s_instance = nullptr; - if ( s_instance == nullptr ) - s_instance = new QskDialog(); - - return s_instance; + static QskDialog instance; + return &instance; } void QskDialog::setPolicy( Policy policy ) diff --git a/src/dialogs/QskDialog.h b/src/dialogs/QskDialog.h index 55f0e080..8203ed82 100644 --- a/src/dialogs/QskDialog.h +++ b/src/dialogs/QskDialog.h @@ -147,8 +147,6 @@ class QSK_EXPORT QskDialog : public QObject QskDialog(); ~QskDialog() override; - static QskDialog* s_instance; - class PrivateData; std::unique_ptr< PrivateData > m_data; };