QbsProjectManager: Fix project parsing

Some recent ProjectExplorer refactorings caused the projects to stay
in the parsing state indefinitely, making it impossible to build or
run anything.

Change-Id: I458a5560cc8d0c7c3183c0f104f00b073039f28e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Christian Kandeler
2017-09-25 19:08:47 +02:00
parent 1005fa9b68
commit b70637de41

View File

@@ -142,12 +142,12 @@ QbsProject::QbsProject(const FileName &fileName) :
connect(this, &Project::removedTarget, this, &QbsProject::targetWasRemoved);
subscribeSignal(&BuildConfiguration::environmentChanged, this, [this]() {
if (static_cast<BuildConfiguration *>(sender())->isActive())
startParsing();
delayParsing();
});
connect(this, &Project::activeProjectConfigurationChanged,
this, [this](ProjectConfiguration *pc) {
if (pc && pc->isActive())
startParsing();
delayParsing();
});
connect(&m_parsingDelay, &QTimer::timeout, this, &QbsProject::startParsing);
@@ -447,6 +447,7 @@ bool QbsProject::checkCancelStatus()
qCDebug(qbsPmLog) << "Cancel request while parsing, starting re-parse";
m_qbsProjectParser->deleteLater();
m_qbsProjectParser = 0;
emitParsingFinished(false);
parseCurrentBuildConfiguration();
return true;
}
@@ -537,7 +538,6 @@ void QbsProject::handleRuleExecutionDone()
QTC_ASSERT(m_qbsProject.isValid(), return);
m_projectData = m_qbsProject.projectData();
updateAfterParse();
// finishParsing(true);
}
void QbsProject::targetWasAdded(Target *t)