summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@digia.com>2013-10-21 17:43:10 +0200
committerTobias Hunger <tobias.hunger@digia.com>2013-10-22 13:26:50 +0200
commit9dd656914abf49eb1f7bede08191019f36c6e597 (patch)
treee5dd132f7839ca93d892e17d7b3df46869f03e7c
parent5686f5fd70ef28b842cc3b37b362fb75d3e8e127 (diff)
downloadqt-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.cpp8
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