diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2014-12-11 10:55:32 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-12-20 12:00:19 +0100 |
commit | 234e933b1527510bc487435a9e46c4338d7b9701 (patch) | |
tree | 64af81cf3309154b9af40a904cbb69bdd181043a /src/qml/jsruntime/qv4jsonobject.cpp | |
parent | 4a194d425136ed8ef726ba60da74e44759118556 (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.cpp | 12 |
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; } |