summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/serialization')
-rw-r--r--src/corelib/serialization/qjsonarray.cpp1
-rw-r--r--src/corelib/serialization/qjsonobject.cpp1
-rw-r--r--src/corelib/serialization/qjsonvalue.cpp18
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);
}
/*!