diff options
Diffstat (limited to 'src/corelib/serialization/qjsoncbor.cpp')
-rw-r--r-- | src/corelib/serialization/qjsoncbor.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/corelib/serialization/qjsoncbor.cpp b/src/corelib/serialization/qjsoncbor.cpp index ef6acbcbf0..46d2555554 100644 --- a/src/corelib/serialization/qjsoncbor.cpp +++ b/src/corelib/serialization/qjsoncbor.cpp @@ -728,14 +728,19 @@ QCborValue QCborValue::fromVariant(const QVariant &variant) return QCborArray::fromJsonArray(doc.array()); return QCborMap::fromJsonObject(doc.object()); } + case QMetaType::QCborValue: + return variant.value<QCborValue>(); + case QMetaType::QCborArray: + return variant.value<QCborArray>(); + case QMetaType::QCborMap: + return variant.value<QCborMap>(); + case QMetaType::QCborSimpleType: + return variant.value<QCborSimpleType>(); #endif default: break; } - if (variant.userType() == qMetaTypeId<QCborSimpleType>()) - return variant.value<QCborSimpleType>(); - if (variant.isNull()) return QCborValue(nullptr); |