diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-09-26 15:32:14 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2014-09-26 17:10:20 +0200 |
commit | ebc11e4612444bce428bbacb91f0f26906666749 (patch) | |
tree | d20df3a66c48ee497a0b6a269577651fc27321c6 | |
parent | 0ac4c1cf0d5db2f43ec297037c969289d44eb643 (diff) |
fix evaluation in subitems of disabled products
Property evaluation in subitems of disabled products didn't work
properly and led to evaluation errors.
Even though a product is disabled, we must handle its subitems in the
ModuleLoader to make module properties available.
Task-number: QBS-671
Change-Id: Ibe051357095766b47e242b65c7899baeb6b0ee43
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
-rw-r--r-- | src/lib/corelib/language/moduleloader.cpp | 3 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata/disabledProduct/disabledProduct.qbs | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index 4eb9cf01c..d16f2469d 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -404,8 +404,7 @@ void ModuleLoader::handleProduct(ProjectContext *projectContext, Item *item) dependsContext.productDependencies = &productContext.info.usedProducts; setScopeForDescendants(item, productContext.scope); resolveDependencies(&dependsContext, item); - if (!checkItemCondition(item)) - return; + checkItemCondition(item); createAdditionalModuleInstancesInProduct(&productContext); foreach (Item *child, item->children()) { diff --git a/tests/auto/blackbox/testdata/disabledProduct/disabledProduct.qbs b/tests/auto/blackbox/testdata/disabledProduct/disabledProduct.qbs index 0c44995c7..c57615c10 100644 --- a/tests/auto/blackbox/testdata/disabledProduct/disabledProduct.qbs +++ b/tests/auto/blackbox/testdata/disabledProduct/disabledProduct.qbs @@ -3,4 +3,8 @@ import qbs CppApplication { condition: false files: "main.cpp" + Group { + condition: qbs.targetOS.contains("stuff") + qbs.install: false + } } |