diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-09-25 10:09:26 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-28 13:33:08 +0200 |
commit | 0f2cf9074d4f0220f5c707eed478f99334814789 (patch) | |
tree | 685ea2295b8728b3545523e2625a4cf65f39b9ee /src/qml/jsruntime/qv4variantobject.cpp | |
parent | 1ef957834bf9040ccd001fa6d80e483b9b21452c (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.cpp | 14 |
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 |