diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-10-04 20:58:01 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-10-04 20:58:01 +0000 |
| commit | b0ab8e75df1bb8c5752ebf3ed60334f1134b04f3 (patch) | |
| tree | 1d076a621425e01daa1f8c145eca53f4d36e5bb5 /src | |
| parent | 3ec0d3e5a0a9127fcead6198b1a615eca4c4b8c3 (diff) | |
| download | qmmp-b0ab8e75df1bb8c5752ebf3ed60334f1134b04f3.tar.gz qmmp-b0ab8e75df1bb8c5752ebf3ed60334f1134b04f3.tar.bz2 qmmp-b0ab8e75df1bb8c5752ebf3ed60334f1134b04f3.zip | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/qmmpui/general.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
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(); } |
