diff options
Diffstat (limited to 'src/corelib/serialization')
-rw-r--r-- | src/corelib/serialization/qjsonarray.cpp | 1 | ||||
-rw-r--r-- | src/corelib/serialization/qjsonobject.cpp | 1 | ||||
-rw-r--r-- | src/corelib/serialization/qjsonvalue.cpp | 18 |
3 files changed, 12 insertions, 8 deletions
diff --git a/src/corelib/serialization/qjsonarray.cpp b/src/corelib/serialization/qjsonarray.cpp index a6415f2678..61b5f9c40e 100644 --- a/src/corelib/serialization/qjsonarray.cpp +++ b/src/corelib/serialization/qjsonarray.cpp @@ -155,7 +155,6 @@ QJsonArray::QJsonArray() = default; QJsonArray::QJsonArray(QCborContainerPrivate *array) : a(array) { - Q_ASSERT(array); } /*! diff --git a/src/corelib/serialization/qjsonobject.cpp b/src/corelib/serialization/qjsonobject.cpp index 0856a19630..cb0d1595c7 100644 --- a/src/corelib/serialization/qjsonobject.cpp +++ b/src/corelib/serialization/qjsonobject.cpp @@ -137,7 +137,6 @@ QJsonObject::QJsonObject() = default; QJsonObject::QJsonObject(QCborContainerPrivate *object) : o(object) { - Q_ASSERT(o); } /*! diff --git a/src/corelib/serialization/qjsonvalue.cpp b/src/corelib/serialization/qjsonvalue.cpp index 29c29184c1..0b11907e68 100644 --- a/src/corelib/serialization/qjsonvalue.cpp +++ b/src/corelib/serialization/qjsonvalue.cpp @@ -705,10 +705,13 @@ QString QJsonValue::toString() const */ QJsonArray QJsonValue::toArray(const QJsonArray &defaultValue) const { - if (t != QCborValue::Array || n >= 0 || !d) + if (!isArray()) return defaultValue; - - return QJsonArray(d.data()); + QCborContainerPrivate *dd = nullptr; + Q_ASSERT(n == -1 || d == nullptr); + if (n < 0) + dd = d.data(); + return QJsonArray(dd); } /*! @@ -730,10 +733,13 @@ QJsonArray QJsonValue::toArray() const */ QJsonObject QJsonValue::toObject(const QJsonObject &defaultValue) const { - if (t != QCborValue::Map || n >= 0 || !d) + if (!isObject()) return defaultValue; - - return QJsonObject(d.data()); + QCborContainerPrivate *dd = nullptr; + Q_ASSERT(n == -1 || d == nullptr); + if (n < 0) + dd = d.data(); + return QJsonObject(dd); } /*! |