From 74c8fe86755af485f8d0a47799d6d50f00070f05 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 1 Sep 2017 11:48:15 +0200 Subject: 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 --- src/imports/localstorage/plugin.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'src/imports') diff --git a/src/imports/localstorage/plugin.cpp b/src/imports/localstorage/plugin.cpp index 5f3cfc43c4..795103cd26 100644 --- a/src/imports/localstorage/plugin.cpp +++ b/src/imports/localstorage/plugin.cpp @@ -414,12 +414,12 @@ static ReturnedValue qmlsqldatabase_changeVersion(const QV4::BuiltinFunction *b, ok = false; db.transaction(); - ScopedCallData callData(scope, 1); - callData->thisObject = scope.engine->globalObject; - callData->args[0] = w; + JSCall jsCall(scope, callback, 1); + jsCall->thisObject = scope.engine->globalObject; + jsCall->args[0] = w; TransactionRollback rollbackOnException(&db, &w->d()->inTransaction); - callback->call(callData); + jsCall.call(); rollbackOnException.clear(); if (!db.commit()) { db.rollback(); @@ -464,11 +464,11 @@ static ReturnedValue qmlsqldatabase_transaction_shared(const QV4::BuiltinFunctio db.transaction(); if (callback) { - ScopedCallData callData(scope, 1); - callData->thisObject = scope.engine->globalObject; - callData->args[0] = w; + JSCall jsCall(scope, callback, 1); + jsCall->thisObject = scope.engine->globalObject; + jsCall->args[0] = w; TransactionRollback rollbackOnException(&db, &w->d()->inTransaction); - callback->call(callData); + jsCall.call(); rollbackOnException.clear(); if (!db.commit()) @@ -763,10 +763,10 @@ void QQuickLocalStorage::openDatabaseSync(QQmlV4Function *args) *db->d()->version = version; if (created && dbcreationCallback) { - ScopedCallData callData(scope, 1); - callData->thisObject = scope.engine->globalObject; - callData->args[0] = db; - dbcreationCallback->call(callData); + JSCall jsCall(scope, dbcreationCallback, 1); + jsCall->thisObject = scope.engine->globalObject; + jsCall->args[0] = db; + jsCall.call(); } args->setReturnValue(db.asReturnedValue()); -- cgit v1.2.3