Fix BlackBerryConfigurationManager singleton

The usage of a static variable instead of a pointer guarantees it will be
constructed and destructed only once.

Change-Id: I7f587ec131b43fe5685122e9a384f1871dcdf790
Reviewed-by: Mehdi Fekari <mfekari@blackberry.com>
Reviewed-by: David Kaspar <dkaspar@blackberry.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Rafael Roquetto
2014-01-10 15:35:00 -02:00
committed by Tobias Hunger
parent 834c89329f
commit 5ee3d2da97
3 changed files with 2 additions and 7 deletions

View File

@@ -447,10 +447,9 @@ void BlackBerryConfigurationManager::saveSettings()
BlackBerryConfigurationManager &BlackBerryConfigurationManager::instance() BlackBerryConfigurationManager &BlackBerryConfigurationManager::instance()
{ {
if (m_instance == 0) static BlackBerryConfigurationManager instance;
m_instance = new BlackBerryConfigurationManager();
return *m_instance; return instance;
} }
BlackBerryConfigurationManager::~BlackBerryConfigurationManager() BlackBerryConfigurationManager::~BlackBerryConfigurationManager()
@@ -483,7 +482,5 @@ QString BlackBerryConfigurationManager::defaultDebugTokenPath() const
return QnxUtils::dataDirPath() + QLatin1String("/debugtoken.bar"); return QnxUtils::dataDirPath() + QLatin1String("/debugtoken.bar");
} }
BlackBerryConfigurationManager* BlackBerryConfigurationManager::m_instance = 0;
} // namespace Internal } // namespace Internal
} // namespace Qnx } // namespace Qnx

View File

@@ -80,7 +80,6 @@ signals:
private: private:
BlackBerryConfigurationManager(QObject *parent = 0); BlackBerryConfigurationManager(QObject *parent = 0);
static BlackBerryConfigurationManager *m_instance;
QList<BlackBerryConfiguration*> m_configs; QList<BlackBerryConfiguration*> m_configs;
BlackBerryConfiguration *m_defaultApiLevel; BlackBerryConfiguration *m_defaultApiLevel;

View File

@@ -73,7 +73,6 @@ QNXPlugin::QNXPlugin()
QNXPlugin::~QNXPlugin() QNXPlugin::~QNXPlugin()
{ {
delete BlackBerryDeviceConnectionManager::instance(); delete BlackBerryDeviceConnectionManager::instance();
delete &BlackBerryConfigurationManager::instance();
} }
bool QNXPlugin::initialize(const QStringList &arguments, QString *errorString) bool QNXPlugin::initialize(const QStringList &arguments, QString *errorString)