From a4ab8d0bbc4075e90547dac9df91a4cfac93942a Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 30 Jan 2012 14:37:36 +0100 Subject: Add a null pointer check to QJsonObject::toVariantMap If the object is null, simply return an empty variant map. Added another test case checking conversion from QJsonArray to a QVariantList. Change-Id: Ieccd163e76630f7db7f41255acd9d1baf66bb38d Reviewed-by: Jonas Gastal Reviewed-by: Kevin Simons --- src/corelib/json/qjsonobject.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/corelib/json/qjsonobject.cpp') diff --git a/src/corelib/json/qjsonobject.cpp b/src/corelib/json/qjsonobject.cpp index 22c5dbfa91..86b4e2cb0a 100644 --- a/src/corelib/json/qjsonobject.cpp +++ b/src/corelib/json/qjsonobject.cpp @@ -158,9 +158,11 @@ QJsonObject QJsonObject::fromVariantMap(const QVariantMap &map) QVariantMap QJsonObject::toVariantMap() const { QVariantMap map; - for (uint i = 0; i < o->length; ++i) { - QJsonPrivate::Entry *e = o->entryAt(i); - map.insert(e->key(), QJsonValue(d, o, e->value).toVariant()); + if (o) { + for (uint i = 0; i < o->length; ++i) { + QJsonPrivate::Entry *e = o->entryAt(i); + map.insert(e->key(), QJsonValue(d, o, e->value).toVariant()); + } } return map; } -- cgit v1.2.3