summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-11-18 18:25:31 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2013-11-19 10:49:22 +0100
commite0a8ec897c15a471f69a7d8bf1dc15d4a361505f (patch)
tree15f5a7a86e7c19ed600916173cb6475d129f044a
parent5cb4b375ef9b36f61f05ad741a77c937bfdbc327 (diff)
downloadqbs-e0a8ec897c15a471f69a7d8bf1dc15d4a361505f.tar.gz
allow invalid bindings in disabled groups
This fixes a regression introduced in 7f83ff024e1fe56c71d193a95cc9af988c12660d. It's now valid again to do something like Group { condition: qbs.targetOS.contains("haiku") cpp.specialHaikuOption: "yes, please" } Task-number: QBS-409 Change-Id: I693df9202603c9af7fd7482fa537ed1fb16591a7 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
-rw-r--r--src/lib/language/moduleloader.cpp1
-rw-r--r--src/lib/language/testdata/invalidBindingInDisabledItem.qbs8
-rw-r--r--src/lib/language/tst_language.cpp2
3 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/language/moduleloader.cpp b/src/lib/language/moduleloader.cpp
index 13c31cbcb..60a89e6df 100644
--- a/src/lib/language/moduleloader.cpp
+++ b/src/lib/language/moduleloader.cpp
@@ -393,6 +393,7 @@ void ModuleLoader::createAdditionalModuleInstancesInProduct(ProductContext *prod
void ModuleLoader::handleGroup(ProductContext *productContext, Item *item)
{
checkCancelation();
+ checkItemCondition(item);
propagateModulesFromProduct(productContext, item);
}
diff --git a/src/lib/language/testdata/invalidBindingInDisabledItem.qbs b/src/lib/language/testdata/invalidBindingInDisabledItem.qbs
index 68b27592c..e3e03a319 100644
--- a/src/lib/language/testdata/invalidBindingInDisabledItem.qbs
+++ b/src/lib/language/testdata/invalidBindingInDisabledItem.qbs
@@ -2,7 +2,15 @@ import qbs 1.0
Project {
Product {
+ name: "product1"
condition: false
someNonsense: "Bitte stellen Sie die Tassen auf den Tisch."
}
+ Product {
+ name: "product2"
+ Group {
+ condition: false
+ moreNonsense: "Follen. Follen. Hünuntergefollen. Auf dön Töppüch."
+ }
+ }
}
diff --git a/src/lib/language/tst_language.cpp b/src/lib/language/tst_language.cpp
index 2eb5b1ead..dfe743c1f 100644
--- a/src/lib/language/tst_language.cpp
+++ b/src/lib/language/tst_language.cpp
@@ -640,7 +640,7 @@ void TestLanguage::invalidBindingInDisabledItem()
TopLevelProjectPtr project = loader->loadProject(defaultParameters);
QVERIFY(project);
QHash<QString, ResolvedProductPtr> products = productsFromProject(project);
- QCOMPARE(products.count(), 1);
+ QCOMPARE(products.count(), 2);
}
catch (const ErrorInfo &e) {
exceptionCaught = true;