aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlvmemetaobject.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-09-11 13:55:01 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-18 13:13:18 +0200
commit1a2a83f80ba4ecc28eba72af57c81bd43a45946c (patch)
treec2e4eb4d9bb57873ca340f6bbbf2342b36c91452 /src/qml/qml/qqmlvmemetaobject.cpp
parent826550af450b39f47a3c00ec316acf1e317f12c6 (diff)
Use a ReturnedValue for Managed::call()
Change-Id: Ief2d75e9789dd367c603d90dc0fe5316a0d055e3 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/qml/qqmlvmemetaobject.cpp')
-rw-r--r--src/qml/qml/qqmlvmemetaobject.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlvmemetaobject.cpp b/src/qml/qml/qqmlvmemetaobject.cpp
index 0079b9580f..7ac218772b 100644
--- a/src/qml/qml/qqmlvmemetaobject.cpp
+++ b/src/qml/qml/qqmlvmemetaobject.cpp
@@ -927,13 +927,14 @@ int QQmlVMEMetaObject::metaCall(QMetaObject::Call c, int _id, void **a)
QQmlVMEMetaData::MethodData *data = metaData->methodData() + id;
+ QV4::ValueScope scope(function->engine());
QV4::ScopedCallData callData(function->engine(), data->parameterCount);
callData->thisObject = ep->v8engine()->global();
for (int ii = 0; ii < data->parameterCount; ++ii)
callData->args[ii] = ep->v8engine()->fromVariant(*(QVariant *)a[ii + 1]);
- QV4::Value result = QV4::Value::undefinedValue();
+ QV4::ScopedValue result(scope);
QV4::ExecutionContext *ctx = function->engine()->current;
try {
result = function->call(callData);