aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4variantobject.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-09-25 10:09:26 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-28 13:33:08 +0200
commit0f2cf9074d4f0220f5c707eed478f99334814789 (patch)
tree685ea2295b8728b3545523e2625a4cf65f39b9ee /src/qml/jsruntime/qv4variantobject.cpp
parent1ef957834bf9040ccd001fa6d80e483b9b21452c (diff)
Fix CallContext to not hold arguments on the C stack anymore
Change-Id: I35f46cce4f243d4b8b2bac9244f8fc26836f413b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4variantobject.cpp')
-rw-r--r--src/qml/jsruntime/qv4variantobject.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/qml/jsruntime/qv4variantobject.cpp b/src/qml/jsruntime/qv4variantobject.cpp
index de72de2f07..720e4fa3a6 100644
--- a/src/qml/jsruntime/qv4variantobject.cpp
+++ b/src/qml/jsruntime/qv4variantobject.cpp
@@ -155,7 +155,8 @@ void VariantPrototype::init()
QV4::ReturnedValue VariantPrototype::method_preserve(SimpleCallContext *ctx)
{
- VariantObject *o = ctx->thisObject.as<QV4::VariantObject>();
+ Scope scope(ctx);
+ Scoped<VariantObject> o(scope, ctx->callData->thisObject.as<QV4::VariantObject>());
if (o && o->isScarce())
o->node.remove();
return Encode::undefined();
@@ -163,7 +164,8 @@ QV4::ReturnedValue VariantPrototype::method_preserve(SimpleCallContext *ctx)
QV4::ReturnedValue VariantPrototype::method_destroy(SimpleCallContext *ctx)
{
- VariantObject *o = ctx->thisObject.as<QV4::VariantObject>();
+ Scope scope(ctx);
+ Scoped<VariantObject> o(scope, ctx->callData->thisObject.as<QV4::VariantObject>());
if (o) {
if (o->isScarce())
o->node.remove();
@@ -174,7 +176,8 @@ QV4::ReturnedValue VariantPrototype::method_destroy(SimpleCallContext *ctx)
QV4::ReturnedValue VariantPrototype::method_toString(SimpleCallContext *ctx)
{
- VariantObject *o = ctx->thisObject.as<QV4::VariantObject>();
+ Scope scope(ctx);
+ Scoped<VariantObject> o(scope, ctx->callData->thisObject.as<QV4::VariantObject>());
if (!o)
return Encode::undefined();
QString result = o->data.toString();
@@ -185,7 +188,8 @@ QV4::ReturnedValue VariantPrototype::method_toString(SimpleCallContext *ctx)
QV4::ReturnedValue VariantPrototype::method_valueOf(SimpleCallContext *ctx)
{
- VariantObject *o = ctx->thisObject.as<QV4::VariantObject>();
+ Scope scope(ctx);
+ Scoped<VariantObject> o(scope, ctx->callData->thisObject.as<QV4::VariantObject>());
if (o) {
QVariant v = o->data;
switch (v.type()) {
@@ -204,7 +208,7 @@ QV4::ReturnedValue VariantPrototype::method_valueOf(SimpleCallContext *ctx)
break;
}
}
- return ctx->thisObject.asReturnedValue();
+ return ctx->callData->thisObject.asReturnedValue();
}
QT_END_NAMESPACE