From a0e306fc2ff5cc61bfd643390dba7dcb11dd2e15 Mon Sep 17 00:00:00 2001 From: kh1 <qt-info@nokia.com> Date: Thu, 25 Feb 2010 17:32:30 +0100 Subject: [PATCH] Fix possible mem leak, spotted by Thorbjorn. Reviewed-by: Thorbjorn --- .../qt4projectmanager/qt-maemo/maemomanager.cpp | 16 +++++++--------- .../qt4projectmanager/qt-maemo/maemomanager.h | 2 -- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp index 79b39b94dd6..47aa0df21b4 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemomanager.cpp @@ -44,7 +44,6 @@ #include <QtCore/QDir> #include <QtCore/QFile> #include <QtCore/QList> -#include <QtCore/QMutexLocker> #include <QtCore/QTextStream> #include <QtGui/QAction> @@ -52,8 +51,6 @@ namespace Qt4ProjectManager { namespace Internal { - -QMutex MaemoManager::m_mutex; MaemoManager *MaemoManager::m_instance = 0; const QSize iconSize = QSize(24, 20); @@ -65,7 +62,11 @@ MaemoManager::MaemoManager() , m_settingsPage(new MaemoSettingsPage(this)) , m_qemuCommand(0) { + Q_ASSERT(!m_instance); + m_instance = this; + MaemoDeviceConfigurations::instance(this); + icon.addFile(":/qt-maemo/images/qemu-run.png", iconSize); icon.addFile(":/qt-maemo/images/qemu-stop.png", iconSize, QIcon::Normal, QIcon::On); @@ -73,7 +74,6 @@ MaemoManager::MaemoManager() ExtensionSystem::PluginManager::instance()->addObject(m_runControlFactory); ExtensionSystem::PluginManager::instance()->addObject(m_runConfigurationFactory); ExtensionSystem::PluginManager::instance()->addObject(m_settingsPage); - MaemoDeviceConfigurations::instance(this); } MaemoManager::~MaemoManager() @@ -81,15 +81,13 @@ MaemoManager::~MaemoManager() ExtensionSystem::PluginManager::instance()->removeObject(m_runControlFactory); ExtensionSystem::PluginManager::instance()->removeObject(m_runConfigurationFactory); ExtensionSystem::PluginManager::instance()->removeObject(m_settingsPage); + + m_instance = 0; } MaemoManager &MaemoManager::instance() { - if (!m_instance) { - QMutexLocker _(&m_mutex); - if (!m_instance) - new MaemoManager; - } + Q_ASSERT(m_instance); return *m_instance; } diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemomanager.h b/src/plugins/qt4projectmanager/qt-maemo/maemomanager.h index 8f67da6a9f8..a7a29214700 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemomanager.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemomanager.h @@ -34,7 +34,6 @@ #include <coreplugin/actionmanager/command.h> -#include <QtCore/QMutex> #include <QtCore/QObject> #include <QtCore/QSet> @@ -86,7 +85,6 @@ signals: void startStopQemu(); private: - static QMutex m_mutex; static MaemoManager *m_instance; MaemoRunControlFactory *m_runControlFactory; -- GitLab