summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2019-05-09 10:24:57 +0200
committerNikolai Kosjar <nikolai.kosjar@qt.io>2019-05-09 14:23:40 +0000
commite3def98c001a90e8046e6f20dd332927481abdec (patch)
tree54820b4df3cdbf911e71e61fa6cc3b1312075d46 /src/plugins
parentc8f0d3f008953a9a50129bb4641c2b31da6788a4 (diff)
downloadqt-creator-e3def98c001a90e8046e6f20dd332927481abdec.tar.gz
CppTools: Ensure that parse contexts are backed up by a toolchain
Otherwise empty parse contexts (e.g. not having any include paths...) will be created that are not useful. Fixes: QTCREATORBUG-22421 Change-Id: I5c9172aee38503d8b48762416e17e7047679bf2e Reviewed-by: Cristian Adam <cristian.adam@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/cpptools/cppprojectinfogenerator.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/plugins/cpptools/cppprojectinfogenerator.cpp b/src/plugins/cpptools/cppprojectinfogenerator.cpp
index f50f003263..18c7d4fb76 100644
--- a/src/plugins/cpptools/cppprojectinfogenerator.cpp
+++ b/src/plugins/cpptools/cppprojectinfogenerator.cpp
@@ -89,10 +89,13 @@ QVector<ProjectPart::Ptr> ProjectInfoGenerator::createProjectParts(const RawProj
rawProjectPart.files,
rawProjectPart.fileClassifier);
- if (cat.hasParts()) {
- const ProjectPart::Ptr part = projectPartFromRawProjectPart(rawProjectPart,
- m_projectUpdateInfo.project);
+ if (!cat.hasParts())
+ return result;
+ const ProjectPart::Ptr part = projectPartFromRawProjectPart(rawProjectPart,
+ m_projectUpdateInfo.project);
+
+ if (m_projectUpdateInfo.cxxToolChain) {
if (cat.hasCxxSources()) {
result << createProjectPart(rawProjectPart,
part,
@@ -101,7 +104,6 @@ QVector<ProjectPart::Ptr> ProjectInfoGenerator::createProjectParts(const RawProj
Language::Cxx,
LanguageExtension::None);
}
-
if (cat.hasObjcxxSources()) {
result << createProjectPart(rawProjectPart,
part,
@@ -110,7 +112,9 @@ QVector<ProjectPart::Ptr> ProjectInfoGenerator::createProjectParts(const RawProj
Language::Cxx,
LanguageExtension::ObjectiveC);
}
+ }
+ if (m_projectUpdateInfo.cToolChain) {
if (cat.hasCSources()) {
result << createProjectPart(rawProjectPart,
part,
@@ -129,6 +133,7 @@ QVector<ProjectPart::Ptr> ProjectInfoGenerator::createProjectParts(const RawProj
LanguageExtension::ObjectiveC);
}
}
+
return result;
}