forked from qt-creator/qt-creator
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:
@@ -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 = {};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user