From 1b67f9eafd944282d9825e8912cb2bd9d9c9ce56 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 24 Jan 2017 15:37:28 +0100 Subject: [PATCH] QbsProjectManager: Fix false positives when classifying files ... for the C++ code model. In particular, a file ending in ".h" must not be unconditionally classified as an "ambiguous header", but only if it has the "hpp" tag. Change-Id: I33a463de78525fb965e781b4b75d1e088c055c3d Reviewed-by: Nikolai Kosjar --- src/plugins/qbsprojectmanager/qbsproject.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index a46866d63de..842433fcd0d 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -752,10 +752,11 @@ void QbsProject::updateDocuments(const QSet &files) static CppTools::ProjectFile::Kind cppFileType(const qbs::ArtifactData &sourceFile) { - if (CppTools::ProjectFile::isAmbiguousHeader(sourceFile.filePath())) - return CppTools::ProjectFile::AmbiguousHeader; - if (sourceFile.fileTags().contains(QLatin1String("hpp"))) + if (sourceFile.fileTags().contains(QLatin1String("hpp"))) { + if (CppTools::ProjectFile::isAmbiguousHeader(sourceFile.filePath())) + return CppTools::ProjectFile::AmbiguousHeader; return CppTools::ProjectFile::CXXHeader; + } if (sourceFile.fileTags().contains(QLatin1String("cpp"))) return CppTools::ProjectFile::CXXSource; if (sourceFile.fileTags().contains(QLatin1String("c")))