summaryrefslogtreecommitdiffstats
path: root/src/corelib/json
diff options
context:
space:
mode:
authorAli Akhtarzada <ali.akhtarzada@nokia.com>2012-05-07 18:09:39 +0200
committerQt by Nokia <qt-info@nokia.com>2012-05-08 09:27:30 +0200
commite483b9bf378fc157631e57dc23b45659bb6512c2 (patch)
tree8d7553479ec57831b0b88ae9a9d2dd2fc1a3c05b /src/corelib/json
parent427fe6c2fdd33d86a254af937cf12df2a7ad28ec (diff)
Add assignment operator for QJsonValueRef
The implicit cast to QJsonValue was being ignored probably because the compiler was generating a default QJsonValueRef assignment operator Change-Id: I3a041595497308868dd7e4aab71027ce21bf8f0b Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/corelib/json')
-rw-r--r--src/corelib/json/qjsonvalue.cpp10
-rw-r--r--src/corelib/json/qjsonvalue.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/corelib/json/qjsonvalue.cpp b/src/corelib/json/qjsonvalue.cpp
index 3be7089049..7459524fc9 100644
--- a/src/corelib/json/qjsonvalue.cpp
+++ b/src/corelib/json/qjsonvalue.cpp
@@ -548,6 +548,16 @@ QJsonValueRef &QJsonValueRef::operator =(const QJsonValue &val)
return *this;
}
+QJsonValueRef &QJsonValueRef::operator =(const QJsonValueRef &ref)
+{
+ if (is_object)
+ o->setValueAt(index, ref);
+ else
+ a->replace(index, ref);
+
+ return *this;
+}
+
QJsonArray QJsonValueRef::toArray() const
{
return toValue().toArray();
diff --git a/src/corelib/json/qjsonvalue.h b/src/corelib/json/qjsonvalue.h
index 386bee25a4..9d4ad1d108 100644
--- a/src/corelib/json/qjsonvalue.h
+++ b/src/corelib/json/qjsonvalue.h
@@ -147,6 +147,7 @@ public:
inline operator QJsonValue() const { return toValue(); }
QJsonValueRef &operator = (const QJsonValue &val);
+ QJsonValueRef &operator = (const QJsonValueRef &val);
inline QJsonValue::Type type() const { return toValue().type(); }
inline bool isNull() const { return type() == QJsonValue::Null; }