diff options
author | Lars Knoll <[email protected]> | 2017-09-01 11:48:15 +0200 |
---|---|---|
committer | Lars Knoll <[email protected]> | 2017-09-02 07:12:17 +0000 |
commit | 74c8fe86755af485f8d0a47799d6d50f00070f05 (patch) | |
tree | 9e3d8c51d46d9f0fa2555cc77d184d6b3ee1be7d /src/qml/jsruntime/qv4jsonobject.cpp | |
parent | a91383545c6f487cff61f401d11f1e85939222e9 (diff) |
Always set the correct FunctionObject when calling JS functions
Renamed ScopedCallData to JSCall, enforced passing a JS
FunctionObject to it, and added call() and callAsConstructor()
methods to it.
Change-Id: I30db65c9765c2896b5909fe2105c0934c6dad861
Reviewed-by: Simon Hausmann <[email protected]>
Diffstat (limited to 'src/qml/jsruntime/qv4jsonobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4jsonobject.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/qml/jsruntime/qv4jsonobject.cpp b/src/qml/jsruntime/qv4jsonobject.cpp index 88fc0d6b3c..83cfb434dc 100644 --- a/src/qml/jsruntime/qv4jsonobject.cpp +++ b/src/qml/jsruntime/qv4jsonobject.cpp @@ -697,21 +697,21 @@ QString Stringify::Str(const QString &key, const Value &v) ScopedString s(scope, v4->newString(QStringLiteral("toJSON"))); ScopedFunctionObject toJSON(scope, o->get(s)); if (!!toJSON) { - ScopedCallData callData(scope, 1); - callData->thisObject = value; - callData->args[0] = v4->newString(key); - value = toJSON->call(callData); + JSCall jsCall(scope, toJSON, 1); + jsCall->thisObject = value; + jsCall->args[0] = v4->newString(key); + value = jsCall.call(); } } if (replacerFunction) { ScopedObject holder(scope, v4->newObject()); holder->put(scope.engine->id_empty(), value); - ScopedCallData callData(scope, 2); - callData->args[0] = v4->newString(key); - callData->args[1] = value; - callData->thisObject = holder; - value = replacerFunction->call(callData); + JSCall jsCall(scope, replacerFunction, 2); + jsCall->args[0] = v4->newString(key); + jsCall->args[1] = value; + jsCall->thisObject = holder; + value = jsCall.call(); } o = value->asReturnedValue(); |