aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2020-05-08 19:47:21 +0200
committerIvan Komissarov <ABBAPOH@gmail.com>2020-05-11 09:56:46 +0000
commite45f1c6b3cc24679ea40c4868f71876246afe130 (patch)
tree5ede85da1093b0ed6d7ef5e178219ffc53827d15 /src
parentc27911e40809c3fe295f1728d57b55c5a8045842 (diff)
Fix ModuleLoader::moduleProviderConfig
The function stopped too early in the ItemValueType branch which disallowed to set properties of the multiple module providers. Also, it modified the 'name' parameter resulting in the invalid map key. Change-Id: I549607cb3191134201634c60b72b782874f07556 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/lib/corelib/language/moduleloader.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index e0f319461..3eebdfd7c 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -3808,7 +3808,7 @@ QVariantMap ModuleLoader::moduleProviderConfig(ModuleLoader::ProductContext &pro
= product.item->itemProperty(StringConstants::moduleProviders());
if (configItemValue) {
const std::function<void(const Item *, QualifiedId)> collectMap
- = [this, &product, &collectMap](const Item *item, QualifiedId name) {
+ = [this, &product, &collectMap](const Item *item, const QualifiedId &name) {
const Item::PropertyMap &props = item->properties();
for (auto it = props.begin(); it != props.end(); ++it) {
QVariant value;
@@ -3816,8 +3816,8 @@ QVariantMap ModuleLoader::moduleProviderConfig(ModuleLoader::ProductContext &pro
case Value::ItemValueType: {
const auto childItem = static_cast<ItemValue *>(it.value().get())->item();
childItem->setScope(item->scope());
- collectMap(childItem, QualifiedId(name += it.key()));
- return;
+ collectMap(childItem, QualifiedId(name) << it.key());
+ continue;
}
case Value::JSSourceValueType:
value = m_evaluator->value(item, it.key()).toVariant();