aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4jsonobject.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2014-12-11 10:55:32 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2014-12-20 12:00:19 +0100
commit234e933b1527510bc487435a9e46c4338d7b9701 (patch)
tree64af81cf3309154b9af40a904cbb69bdd181043a /src/qml/jsruntime/qv4jsonobject.cpp
parent4a194d425136ed8ef726ba60da74e44759118556 (diff)
Use pointers to Heap object to avoid recursion
Change-Id: If491b35ba43758bd4792166f7213cd5a11d227d9 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4jsonobject.cpp')
-rw-r--r--src/qml/jsruntime/qv4jsonobject.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/qml/jsruntime/qv4jsonobject.cpp b/src/qml/jsruntime/qv4jsonobject.cpp
index 26cfe10f21..a34faeed1a 100644
--- a/src/qml/jsruntime/qv4jsonobject.cpp
+++ b/src/qml/jsruntime/qv4jsonobject.cpp
@@ -1017,14 +1017,14 @@ QJsonObject JsonObject::toJsonObject(Object *o, V4ObjectSet &visitedObjects)
Scope scope(o->engine());
- if (visitedObjects.contains(o)) {
+ if (visitedObjects.contains(o->d())) {
// Avoid recursion.
// For compatibility with QVariant{List,Map} conversion, we return an
// empty object (and no error is thrown).
return result;
}
- visitedObjects.insert(o);
+ visitedObjects.insert(o->d());
ObjectIterator it(scope, o, ObjectIterator::EnumerableOnly);
ScopedValue name(scope);
@@ -1039,7 +1039,7 @@ QJsonObject JsonObject::toJsonObject(Object *o, V4ObjectSet &visitedObjects)
result.insert(key, toJsonValue(val, visitedObjects));
}
- visitedObjects.remove(o);
+ visitedObjects.remove(o->d());
return result;
}
@@ -1065,14 +1065,14 @@ QJsonArray JsonObject::toJsonArray(ArrayObject *a, V4ObjectSet &visitedObjects)
Scope scope(a->engine());
- if (visitedObjects.contains(a)) {
+ if (visitedObjects.contains(a->d())) {
// Avoid recursion.
// For compatibility with QVariant{List,Map} conversion, we return an
// empty array (and no error is thrown).
return result;
}
- visitedObjects.insert(a);
+ visitedObjects.insert(a->d());
ScopedValue v(scope);
quint32 length = a->getLength();
@@ -1083,7 +1083,7 @@ QJsonArray JsonObject::toJsonArray(ArrayObject *a, V4ObjectSet &visitedObjects)
result.append(toJsonValue(v, visitedObjects));
}
- visitedObjects.remove(a);
+ visitedObjects.remove(a->d());
return result;
}