From 20c27fc1338593498cb851498ddb38d004337589 Mon Sep 17 00:00:00 2001 From: Vladyslav Stelmakhovskyi Date: Sat, 13 May 2017 14:20:28 +0200 Subject: [PATCH] Fix crash on save Map data settings from scripts --- libraries/shared/src/SettingHelpers.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libraries/shared/src/SettingHelpers.cpp b/libraries/shared/src/SettingHelpers.cpp index 9e2d15fcd0..cbda4e4096 100644 --- a/libraries/shared/src/SettingHelpers.cpp +++ b/libraries/shared/src/SettingHelpers.cpp @@ -126,7 +126,16 @@ QJsonDocument variantMapToJsonDocument(const QSettings::SettingsMap& map) { } switch (variantType) { - case QVariant::Map: + case QVariant::Map: { + auto varmap = variant.toMap(); + for (auto mapit = varmap.cbegin(); mapit != varmap.cend(); ++mapit) { + auto& mapkey = mapit.key(); + auto& mapvariant = mapit.value(); + object.insert(key + "/" + mapkey, QJsonValue::fromVariant(mapvariant)); + } + break; + } + case QVariant::List: case QVariant::Hash: { qCritical() << "Unsupported variant type" << variant.typeName();