From 278e98142283b595f9aa97fdd8abd98d7e2591fe Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 6 Feb 2020 17:22:47 +0100 Subject: [PATCH] Qmake: Deactivate parse guard before it can cause trouble ... in the QmakeBuildSystem destructor Change-Id: I23336cc0b72673fd2c63235b1c568439159d3d8d Reviewed-by: Christian Kandeler --- .../qmakeprojectmanager/qmakebuildconfiguration.cpp | 8 +++++--- src/plugins/qmakeprojectmanager/qmakeproject.cpp | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index 0d9a8251275..f0eff15cc3f 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -249,9 +249,11 @@ void QmakeBuildConfiguration::updateProblemLabel() } const auto bs = qmakeBuildSystem(); - if (bs->rootProFile()->parseInProgress() || !bs->rootProFile()->validParse()) { - buildDirectoryAspect()->setProblem({}); - return; + if (QmakeProFile *rootProFile = bs->rootProFile()) { + if (rootProFile->parseInProgress() || !rootProFile->validParse()) { + buildDirectoryAspect()->setProblem({}); + return; + } } bool targetMismatch = false; diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index b7bb4693558..5e6bcb4a24d 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -231,6 +231,7 @@ QmakeBuildSystem::QmakeBuildSystem(QmakeBuildConfiguration *bc) QmakeBuildSystem::~QmakeBuildSystem() { + m_guard = {}; delete m_cppCodeModelUpdater; m_cppCodeModelUpdater = nullptr; m_asyncUpdateState = ShuttingDown;