diff options
Diffstat (limited to 'src/qml/jsruntime/qv4jsonobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4jsonobject.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4jsonobject.cpp b/src/qml/jsruntime/qv4jsonobject.cpp index 331b528409..721843afba 100644 --- a/src/qml/jsruntime/qv4jsonobject.cpp +++ b/src/qml/jsruntime/qv4jsonobject.cpp @@ -779,8 +779,10 @@ QString Stringify::makeMember(const QString &key, ValueRef v) QString Stringify::JO(ObjectRef o) { - if (stack.contains(o.getPointer())) + if (stack.contains(o.getPointer())) { ctx->throwTypeError(); + return QString(); + } Scope scope(ctx); @@ -834,8 +836,10 @@ QString Stringify::JO(ObjectRef o) QString Stringify::JA(ArrayObjectRef a) { - if (stack.contains(a.getPointer())) + if (stack.contains(a.getPointer())) { ctx->throwTypeError(); + return QString(); + } Scope scope(a->engine()); @@ -901,7 +905,7 @@ ReturnedValue JsonObject::method_parse(SimpleCallContext *ctx) ScopedValue result(scope, parser.parse(&error)); if (error.error != QJsonParseError::NoError) { DEBUG << "parse error" << error.errorString(); - ctx->throwSyntaxError("JSON.parse: Parse error"); + return ctx->throwSyntaxError("JSON.parse: Parse error"); } return result.asReturnedValue(); |