diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2019-05-09 10:24:57 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2019-05-09 14:23:40 +0000 |
commit | e3def98c001a90e8046e6f20dd332927481abdec (patch) | |
tree | 54820b4df3cdbf911e71e61fa6cc3b1312075d46 /src/plugins | |
parent | c8f0d3f008953a9a50129bb4641c2b31da6788a4 (diff) | |
download | qt-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.cpp | 13 |
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; } |