diff options
-rw-r--r-- | src/ivicore/qiviqmlconversion_helper.cpp | 6 | ||||
-rw-r--r-- | tests/auto/core/qivisimulationglobalobject/tst_qivisimulationglobalobject.cpp | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/ivicore/qiviqmlconversion_helper.cpp b/src/ivicore/qiviqmlconversion_helper.cpp index f73eb41..2b13b7c 100644 --- a/src/ivicore/qiviqmlconversion_helper.cpp +++ b/src/ivicore/qiviqmlconversion_helper.cpp @@ -143,10 +143,6 @@ QVariant qtivi_convertFromJSON(const QVariant &value) return QVariant(); } - QVariantList values = value.toList(); - for (auto i = values.begin(); i != values.end(); ++i) - *i = qtivi_convertFromJSON(*i); - void *gadget = QMetaType::create(typeId); if (!Q_UNLIKELY(gadget)) { qWarning("Couldn't create a new instance of %s", QMetaType::typeName(typeId)); @@ -167,7 +163,7 @@ QVariant qtivi_convertFromJSON(const QVariant &value) return QVariant(); } - mo->method(moIdx).invokeOnGadget(gadget, Q_ARG(QVariant, QVariant(values))); + mo->method(moIdx).invokeOnGadget(gadget, Q_ARG(QVariant, QVariant(value))); return QVariant(typeId, gadget); } } diff --git a/tests/auto/core/qivisimulationglobalobject/tst_qivisimulationglobalobject.cpp b/tests/auto/core/qivisimulationglobalobject/tst_qivisimulationglobalobject.cpp index 1603b5f..546520a 100644 --- a/tests/auto/core/qivisimulationglobalobject/tst_qivisimulationglobalobject.cpp +++ b/tests/auto/core/qivisimulationglobalobject/tst_qivisimulationglobalobject.cpp @@ -344,6 +344,8 @@ void tst_QIviSimulationGlobalObject::testParseDomainValue_data() << QVariant::fromValue(SimpleAPI::EnumValue1); QTest::newRow("TestStruct by list") << "{ \"type\": \"TestStruct\", \"value\": [ 100, true ] }" << QVariant::fromValue(TestStruct(100, true)); + QTest::newRow("TestStruct by map") << "{ \"type\": \"TestStruct\", \"value\": { \"intProperty\": 100, \"boolProperty\": true } }" + << QVariant::fromValue(TestStruct(100, true)); } void tst_QIviSimulationGlobalObject::testParseDomainValue() |