From 6e8e5d16e16d6ee683a5c06a24f8f202ed5239ff Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Thu, 5 Sep 2013 13:22:23 +0200 Subject: Move CallData onto the JS stack Change-Id: I22e853acfd2da337344b581bb0412c5f9930c510 Reviewed-by: Simon Hausmann --- src/imports/localstorage/plugin.cpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'src/imports') diff --git a/src/imports/localstorage/plugin.cpp b/src/imports/localstorage/plugin.cpp index 578c388b44..405acd0f7c 100644 --- a/src/imports/localstorage/plugin.cpp +++ b/src/imports/localstorage/plugin.cpp @@ -60,6 +60,7 @@ #include #include #include +#include using namespace QV4; @@ -340,11 +341,11 @@ static Value qmlsqldatabase_changeVersion(SimpleCallContext *ctx) ok = false; db.transaction(); - CALLDATA(1); - d.thisObject = engine->global(); - d.args[0] = Value::fromObject(w); + ScopedCallData callData(ctx->engine, 1); + callData->thisObject = engine->global(); + callData->args[0] = Value::fromObject(w); try { - f->call(d); + f->call(callData); } catch (Exception &) { db.rollback(); throw; @@ -394,11 +395,11 @@ static Value qmlsqldatabase_transaction_shared(SimpleCallContext *ctx, bool read db.transaction(); if (callback) { - CALLDATA(1); - d.thisObject = engine->global(); - d.args[0] = Value::fromObject(w); + ScopedCallData callData(ctx->engine, 1); + callData->thisObject = engine->global(); + callData->args[0] = Value::fromObject(w); try { - callback->call(d); + callback->call(callData); } catch (Exception &) { w->inTransaction = false; db.rollback(); @@ -677,10 +678,10 @@ void QQuickLocalStorage::openDatabaseSync(QQmlV4Function *args) db->version = version; if (created && dbcreationCallback) { - CALLDATA(1); - d.thisObject = engine->global(); - d.args[0] = Value::fromObject(db); - dbcreationCallback->call(d); + ScopedCallData callData(ctx->engine, 1); + callData->thisObject = engine->global(); + callData->args[0] = Value::fromObject(db); + dbcreationCallback->call(callData); } args->setReturnValue(Value::fromObject(db)); -- cgit v1.2.3