forked from qt-creator/qt-creator
QmakeProject: Fix crash on unloading project while parsing
Callign applyAsyncEvaluate in the desctructor might lead to further parses, which we don't want. So bail out early in applyAsyncEvaluate. Task-number: QTCREATORBUG-13421 Change-Id: I776ff477363a3985ebc26e9160c58c2ab9c910b7 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -2026,6 +2026,11 @@ void QmakeProFileNode::applyEvaluate(EvalResult *evalResult)
|
||||
if (!m_readerExact)
|
||||
return;
|
||||
|
||||
if (m_project->asyncUpdateState() == QmakeProject::ShuttingDown) {
|
||||
cleanupProFileReaders();
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (const QString &error, evalResult->errors)
|
||||
QmakeProject::proFileParseError(error);
|
||||
|
||||
@@ -2258,6 +2263,11 @@ void QmakeProFileNode::applyEvaluate(EvalResult *evalResult)
|
||||
|
||||
updateUiFiles(buildDirectory);
|
||||
|
||||
cleanupProFileReaders();
|
||||
}
|
||||
|
||||
void QmakeProFileNode::cleanupProFileReaders()
|
||||
{
|
||||
m_project->destroyProFileReader(m_readerExact);
|
||||
m_project->destroyProFileReader(m_readerCumulative);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user