diff options
Diffstat (limited to 'src/corelib/json')
-rw-r--r-- | src/corelib/json/qjsonvalue.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/corelib/json/qjsonvalue.cpp b/src/corelib/json/qjsonvalue.cpp index d0b06c6924..3aba6124b8 100644 --- a/src/corelib/json/qjsonvalue.cpp +++ b/src/corelib/json/qjsonvalue.cpp @@ -396,9 +396,13 @@ QVariant QJsonValue::toVariant() const case String: return toString(); case Array: - return QJsonArray(d, static_cast<QJsonPrivate::Array *>(base)).toVariantList(); + return d ? + QJsonArray(d, static_cast<QJsonPrivate::Array *>(base)).toVariantList() : + QVariantList(); case Object: - return QJsonObject(d, static_cast<QJsonPrivate::Object *>(base)).toVariantMap(); + return d ? + QJsonObject(d, static_cast<QJsonPrivate::Object *>(base)).toVariantMap() : + QVariantMap(); case Null: case Undefined: break; |