ProjectWindow: Fix crash in TargetSetupPage

Move ownership of the ProjectImporter to the Project.

Task-number: QTCREATORBUG-16744
Change-Id: I7fc217ce8058287c5435b259bdc5300a926f8098
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
hjk
2016-10-05 08:31:16 +02:00
parent b9a8ed31ae
commit 33c732c60c
7 changed files with 25 additions and 19 deletions

View File

@@ -298,6 +298,8 @@ QmakeProject::QmakeProject(QmakeManager *manager, const QString &fileName) :
QmakeProject::~QmakeProject()
{
delete m_projectImporter;
m_projectImporter = nullptr;
m_codeModelFuture.cancel();
m_asyncUpdateState = ShuttingDown;
@@ -1613,9 +1615,11 @@ void QmakeProject::emitBuildDirectoryInitialized()
emit buildDirectoryInitialized();
}
ProjectImporter *QmakeProject::createProjectImporter() const
ProjectImporter *QmakeProject::projectImporter() const
{
return new QmakeProjectImporter(projectFilePath().toString());
if (!m_projectImporter)
m_projectImporter = new QmakeProjectImporter(projectFilePath().toString());
return m_projectImporter;
}
QmakeProject::AsyncUpdateState QmakeProject::asyncUpdateState() const