diff options
6 files changed, 28 insertions, 1 deletions
diff --git a/src/lib/corelib/language/evaluatorscriptclass.cpp b/src/lib/corelib/language/evaluatorscriptclass.cpp index ecd7890db..8230d3990 100644 --- a/src/lib/corelib/language/evaluatorscriptclass.cpp +++ b/src/lib/corelib/language/evaluatorscriptclass.cpp @@ -177,7 +177,7 @@ private: ? data->item->scope() : data->item; conditionScope = data->evaluator->scriptValue(conditionScopeItem); QBS_ASSERT(conditionScope.isObject(), return); - conditionFileScope = data->evaluator->fileScope(conditionScopeItem->file()); + conditionFileScope = data->evaluator->fileScope(value->file()); } engine->currentContext()->pushScope(conditionFileScope); pushItemScopes(conditionScopeItem); diff --git a/tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs b/tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs new file mode 100644 index 000000000..32b8d2a03 --- /dev/null +++ b/tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs @@ -0,0 +1,5 @@ +import qbs + +Product { + Depends { name: "amodule" } +} diff --git a/tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs new file mode 100644 index 000000000..92ea2cd45 --- /dev/null +++ b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs @@ -0,0 +1,10 @@ +import qbs +import qbs.File + +Module { + Depends { name: "depmodule" } + Properties { + condition: File.exists("blubb") + depmodule.prop: "blubb" + } +} diff --git a/tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs new file mode 100644 index 000000000..4c2f9281d --- /dev/null +++ b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs @@ -0,0 +1,5 @@ +import qbs + +Module { + property string prop +} diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index 784477986..60fe58d20 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -4187,6 +4187,12 @@ void TestBlackbox::iconsetApp() QVERIFY(regularFileExists(relativeProductBuildDir("iconsetapp") + "/iconsetapp.app/Contents/Resources/white.icns")); } +void TestBlackbox::importInPropertiesCondition() +{ + QDir::setCurrent(testDataDir + "/import-in-properties-condition"); + QCOMPARE(runQbs(), 0); +} + void TestBlackbox::importingProduct() { QDir::setCurrent(testDataDir + "/importing-product"); diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h index 5d70b8dc0..64e3b0770 100644 --- a/tests/auto/blackbox/tst_blackbox.h +++ b/tests/auto/blackbox/tst_blackbox.h @@ -137,6 +137,7 @@ private slots: void groupsInModules(); void iconset(); void iconsetApp(); + void importInPropertiesCondition(); void importingProduct(); void infoPlist(); void inputsFromDependencies(); |