aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-06-29 12:15:42 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-07-04 10:48:14 +0000
commitff47f16163125b22caa3750a0c2ea26bc0f6728b (patch)
treecf29d206948570047b38cac39c5d77498d8100b6 /src/lib
parentfed37117f456600bb29d0cd3df6f1ababdda6404 (diff)
ModuleLoader: Fix misleading error message
If a product could not get properly loaded and a per-product property override was given on the command line, we used to erroneously complain about the property override instead of reporting the real error. Change-Id: I1cbbc8ff9b6dcd453563c4745778576342862ca3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/corelib/language/moduleloader.cpp3
-rw-r--r--src/lib/corelib/language/moduleloader.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index 1cc894232..6449655fb 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -2087,6 +2087,8 @@ void ModuleLoader::checkProjectNamesInOverrides(const ModuleLoader::TopLevelProj
void ModuleLoader::checkProductNamesInOverrides()
{
for (const QString &productNameInOverride : m_productNamesUsedInOverrides) {
+ if (m_erroneousProducts.contains(productNameInOverride))
+ continue;
bool found = false;
for (auto it = m_productsByName.cbegin(); it != m_productsByName.cend(); ++it) {
// In an override string such as "a.b.c:d, we cannot tell whether we have a product
@@ -3804,6 +3806,7 @@ void ModuleLoader::handleProductError(const ErrorInfo &error,
productContext->project->result->productInfos.insert(productContext->item,
productContext->info);
m_disabledItems << productContext->item;
+ m_erroneousProducts.insert(productContext->name);
}
static void gatherAssignedProperties(ItemValue *iv, const QualifiedId &prefix,
diff --git a/src/lib/corelib/language/moduleloader.h b/src/lib/corelib/language/moduleloader.h
index eaabdd54f..ce13364d7 100644
--- a/src/lib/corelib/language/moduleloader.h
+++ b/src/lib/corelib/language/moduleloader.h
@@ -444,6 +444,7 @@ private:
Set<QString> m_projectNamesUsedInOverrides;
Set<QString> m_productNamesUsedInOverrides;
Set<QString> m_disabledProjects;
+ Set<QString> m_erroneousProducts;
int m_dependencyResolvingPass = 0;
};