ProjectExplorer: Use RAII pattern for parsing start/stop signalling

Change-Id: I13de537140f265db3e3d0ab1cd924d6897cd90c8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Tobias Hunger
2019-08-06 14:46:37 +02:00
parent 8868989d5c
commit 09530d6dcc
18 changed files with 143 additions and 69 deletions

View File

@@ -371,7 +371,7 @@ void CMakeProject::startParsing(int reparseParameters)
CMakeBuildConfiguration *bc = activeBc(this);
QTC_ASSERT(bc, return );
emitParsingStarted();
m_parseGuard = std::move(guardParsingRun());
m_waitingForScan = reparseParameters & BuildDirManager::REPARSE_SCAN;
m_waitingForParse = true;
@@ -466,12 +466,14 @@ void CMakeProject::combineScanAndParse(CMakeBuildConfiguration *bc)
if (m_waitingForParse || m_waitingForScan)
return;
if (m_combinedScanAndParseResult)
if (m_combinedScanAndParseResult) {
m_parseGuard.markAsSuccess();
updateProjectData(bc);
}
{
TraceTimer parsingDoneTimer(" parsing finished signal");
emitParsingFinished(m_combinedScanAndParseResult);
m_parseGuard = {};
}
}