diff options
author | Tobias Hunger <tobias.hunger@digia.com> | 2013-10-21 17:43:10 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@digia.com> | 2013-10-22 13:26:50 +0200 |
commit | 9dd656914abf49eb1f7bede08191019f36c6e597 (patch) | |
tree | e5dd132f7839ca93d892e17d7b3df46869f03e7c | |
parent | 5686f5fd70ef28b842cc3b37b362fb75d3e8e127 (diff) | |
download | qt-creator-9dd656914abf49eb1f7bede08191019f36c6e597.tar.gz |
Qbs: Fix memory leak in Qbs Project Manager
Make sure the root node of the project tree is actually deleted.
Change-Id: Idf32460d7b5d0518da9536084cccb074638cfce3
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsproject.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 32536961ae..5bd01b39b5 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -114,6 +114,8 @@ QbsProject::QbsProject(QbsManager *manager, const QString &fileName) : connect(&m_parsingDelay, SIGNAL(timeout()), this, SLOT(parseCurrentBuildConfiguration())); updateDocuments(QSet<QString>() << fileName); + + // NOTE: QbsProjectNode does not use this as a parent! m_rootProjectNode = new QbsProjectNode(this); // needs documents to be initialized! } @@ -125,6 +127,12 @@ QbsProject::~QbsProject() m_qbsSetupProjectJob->cancel(); delete m_qbsSetupProjectJob; } + + // Deleting the root node triggers a few things, make sure rootProjectNode + // returns 0 already + QbsProjectNode *root = m_rootProjectNode; + m_rootProjectNode = 0; + delete root; } QString QbsProject::displayName() const |