aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-10-04 20:58:01 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-10-04 20:58:01 +0000
commitb0ab8e75df1bb8c5752ebf3ed60334f1134b04f3 (patch)
tree1d076a621425e01daa1f8c145eca53f4d36e5bb5 /src
parent3ec0d3e5a0a9127fcead6198b1a615eca4c4b8c3 (diff)
downloadqmmp-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.cpp16
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();
}