mirror of
https://github.com/quickshell-mirror/quickshell.git
synced 2026-10-27 02:54:36 +00:00
io/fileview: try to convert values to json before handling sequences
The previous code was interpreting a string as a list of characters and therefore a sequence.
This commit is contained in:
1 file changed
+11
-5
+11
-5
@@ -136,13 +136,19 @@ QJsonObject JsonAdapter::serializeRec(const QObject* obj, const QMetaObject* bas
|
||||
} else {
|
||||
if (val.canConvert<QJSValue>()) val = val.value<QJSValue>().toVariant();
|
||||
|
||||
if (val.canConvert<QAssociativeIterable>()) {
|
||||
val.convert(QMetaType::fromType<QVariantMap>());
|
||||
} else if (val.canConvert<QSequentialIterable>()) {
|
||||
val.convert(QMetaType::fromType<QVariantList>());
|
||||
auto jsonVal = QJsonValue::fromVariant(val);
|
||||
|
||||
if (jsonVal.isNull() && !val.isNull() && val.isValid()) {
|
||||
if (val.canConvert<QAssociativeIterable>()) {
|
||||
val.convert(QMetaType::fromType<QVariantMap>());
|
||||
} else if (val.canConvert<QSequentialIterable>()) {
|
||||
val.convert(QMetaType::fromType<QVariantList>());
|
||||
}
|
||||
|
||||
jsonVal = QJsonValue::fromVariant(val);
|
||||
}
|
||||
|
||||
json.insert(prop.name(), QJsonValue::fromVariant(val));
|
||||
json.insert(prop.name(), jsonVal);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user