summaryrefslogtreecommitdiff
path: root/src/plugins/qbsprojectmanager/qbsproject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qbsprojectmanager/qbsproject.cpp')
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp
index 9c4184c539..29340aae58 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.cpp
+++ b/src/plugins/qbsprojectmanager/qbsproject.cpp
@@ -112,7 +112,7 @@ QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
this, SLOT(targetWasAdded(ProjectExplorer::Target*)));
connect(this, SIGNAL(environmentChanged()), this, SLOT(delayParsing()));
- connect(&m_parsingDelay, SIGNAL(timeout()), this, SLOT(parseCurrentBuildConfiguration()));
+ connect(&m_parsingDelay, SIGNAL(timeout()), this, SLOT(startParsing()));
updateDocuments(QSet<QString>() << fileName);
@@ -357,6 +357,11 @@ void QbsProject::buildConfigurationChanged(BuildConfiguration *bc)
}
}
+void QbsProject::startParsing()
+{
+ parseCurrentBuildConfiguration(false);
+}
+
void QbsProject::delayParsing()
{
m_parsingDelay.start();
@@ -368,10 +373,13 @@ void QbsProject::delayForcedParsing()
delayParsing();
}
-void QbsProject::parseCurrentBuildConfiguration()
+void QbsProject::parseCurrentBuildConfiguration(bool force)
{
m_parsingDelay.stop();
+ if (!m_forceParsing)
+ m_forceParsing = force;
+
if (!activeTarget())
return;
QbsBuildConfiguration *bc = qobject_cast<QbsBuildConfiguration *>(activeTarget()->activeBuildConfiguration());
@@ -635,7 +643,7 @@ void QbsProject::updateCppCodeModel(const qbs::ProjectData &prj)
part->includePaths += grpIncludePaths;
part->frameworkPaths += grpFrameworkPaths;
part->precompiledHeaders = QStringList(pch);
- part->defines += grpDefines;
+ part->projectDefines += grpDefines;
pinfo.appendProjectPart(part);
}
}