From b0ab8e75df1bb8c5752ebf3ed60334f1134b04f3 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 4 Oct 2020 20:58:01 +0000 Subject: added GeneralFactory::create result checking git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9508 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/general.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/qmmpui') diff --git a/src/qmmpui/general.cpp b/src/qmmpui/general.cpp index 592bdf894..a9c0a766f 100644 --- a/src/qmmpui/general.cpp +++ b/src/qmmpui/general.cpp @@ -66,7 +66,8 @@ void General::create(QObject *parent) if (factory) { QObject *general = factory->create(parent); - m_generals->insert(factory, general); + if(general) + m_generals->insert(factory, general); } } } @@ -131,12 +132,12 @@ void General::setEnabled(GeneralFactory* factory, bool enable) if (enable) { QObject *general = factory->create(m_parent); - m_generals->insert(factory, general); + if(general) + m_generals->insert(factory, general); } - else + else if(m_generals->value(factory)) { - delete m_generals->value(factory); - m_generals->remove(factory); + delete m_generals->take(factory); } } @@ -148,9 +149,10 @@ void General::showSettings(GeneralFactory* factory, QWidget* parentWidget) if (m_generals && dialog->exec() == QDialog::Accepted && m_generals->keys().contains(factory)) { - delete m_generals->value(factory); + delete m_generals->take(factory); QObject *general = factory->create(m_parent); - m_generals->insert(factory, general); + if(general) + m_generals->insert(factory, general); } dialog->deleteLater(); } -- cgit v1.2.3-13-gbd6f