aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlcomponent.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-09-11 19:05:24 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2013-09-11 19:08:28 +0200
commit89402e0ef69da3c954a540510e8b4e8501bc1ce3 (patch)
treecf97d95e1ac837e5d439f2be9125e0a104b5bbce /src/qml/qml/qqmlcomponent.cpp
parent0cce947449fa502fd4bf2aec95fa490c8417cdeb (diff)
parent262d7261033df7650938c38401112a4767d926ff (diff)
Merge branch 'dev' of qtdeclarative into wip/v4
Conflicts: src/qml/jsruntime/qv4script.cpp Change-Id: I20136cab29d86862b5bd9208003200bc24bcdacf
Diffstat (limited to 'src/qml/qml/qqmlcomponent.cpp')
-rw-r--r--src/qml/qml/qqmlcomponent.cpp41
1 files changed, 21 insertions, 20 deletions
diff --git a/src/qml/qml/qqmlcomponent.cpp b/src/qml/qml/qqmlcomponent.cpp
index a70b9064d9..475e69cd77 100644
--- a/src/qml/qml/qqmlcomponent.cpp
+++ b/src/qml/qml/qqmlcomponent.cpp
@@ -62,6 +62,7 @@
#include <private/qv4functionobject_p.h>
#include <private/qv4script_p.h>
+#include <private/qv4scopedvalue_p.h>
#include <QStack>
#include <QStringList>
@@ -1240,12 +1241,12 @@ void QQmlComponent::createObject(QQmlV4Function *args)
if (!valuemap.isEmpty()) {
QQmlComponentExtension *e = componentExtension(v8engine);
- QV4::Value f = QV4::Script::evaluate(QV8Engine::getV4(v8engine), QString::fromLatin1(INITIALPROPERTIES_SOURCE), args->qmlGlobal().asObject());
- CALLDATA(2);
- d.thisObject = QV4::Value::fromObject(v4engine->globalObject);
- d.args[0] = object;
- d.args[1] = valuemap;
- f.asFunctionObject()->call(d);
+ QV4::Value f = QV4::Script::evaluate(v4engine, QString::fromLatin1(INITIALPROPERTIES_SOURCE), args->qmlGlobal().asObject());
+ QV4::ScopedCallData callData(v4engine, 2);
+ callData->thisObject = QV4::Value::fromObject(v4engine->globalObject);
+ callData->args[0] = object;
+ callData->args[1] = valuemap;
+ f.asFunctionObject()->call(callData);
}
d->completeCreate();
@@ -1388,11 +1389,11 @@ void QQmlComponentPrivate::initializeObjectWithInitialProperties(const QV4::Valu
if (!valuemap.isEmpty()) {
QQmlComponentExtension *e = componentExtension(v8engine);
QV4::Value f = QV4::Script::evaluate(QV8Engine::getV4(v8engine), QString::fromLatin1(INITIALPROPERTIES_SOURCE), qmlGlobal.asObject());
- CALLDATA(2);
- d.thisObject = QV4::Value::fromObject(v4engine->globalObject);
- d.args[0] = object;
- d.args[1] = valuemap;
- f.asFunctionObject()->call(d);
+ QV4::ScopedCallData callData(v4engine, 2);
+ callData->thisObject = QV4::Value::fromObject(v4engine->globalObject);
+ callData->args[0] = object;
+ callData->args[1] = valuemap;
+ f.asFunctionObject()->call(callData);
}
}
@@ -1487,11 +1488,11 @@ void QmlIncubatorObject::setInitialState(QObject *o)
QV4::ExecutionEngine *v4 = QV8Engine::getV4(v8);
QV4::Value f = QV4::Script::evaluate(v4, QString::fromLatin1(INITIALPROPERTIES_SOURCE), qmlGlobal.asObject());
- CALLDATA(2);
- d.thisObject = QV4::Value::fromObject(v4->globalObject);
- d.args[0] = QV4::QObjectWrapper::wrap(v4, o);
- d.args[1] = valuemap;
- f.asFunctionObject()->call(d);
+ QV4::ScopedCallData callData(v4, 2);
+ callData->thisObject = QV4::Value::fromObject(v4->globalObject);
+ callData->args[0] = QV4::QObjectWrapper::wrap(v4, o);
+ callData->args[1] = valuemap;
+ f.asFunctionObject()->call(callData);
}
}
@@ -1524,10 +1525,10 @@ void QmlIncubatorObject::statusChanged(Status s)
if (QV4::FunctionObject *f = callback.asFunctionObject()) {
QV4::ExecutionContext *ctx = f->engine()->current;
try {
- CALLDATA(1);
- d.thisObject = QV4::Value::fromObject(this);
- d.args[0] = QV4::Value::fromUInt32(s);
- f->call(d);
+ QV4::ScopedCallData callData(ctx->engine, 1);
+ callData->thisObject = QV4::Value::fromObject(this);
+ callData->args[0] = QV4::Value::fromUInt32(s);
+ f->call(callData);
} catch (QV4::Exception &e) {
e.accept(ctx);
QQmlError error;