diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-11-18 18:25:31 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-11-19 10:49:22 +0100 |
commit | e0a8ec897c15a471f69a7d8bf1dc15d4a361505f (patch) | |
tree | 15f5a7a86e7c19ed600916173cb6475d129f044a | |
parent | 5cb4b375ef9b36f61f05ad741a77c937bfdbc327 (diff) | |
download | qbs-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.cpp | 1 | ||||
-rw-r--r-- | src/lib/language/testdata/invalidBindingInDisabledItem.qbs | 8 | ||||
-rw-r--r-- | src/lib/language/tst_language.cpp | 2 |
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; |