diff options
Diffstat (limited to 'src/qml/jsruntime/qv4script.cpp')
| -rw-r--r-- | src/qml/jsruntime/qv4script.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4script.cpp b/src/qml/jsruntime/qv4script.cpp index 7f2e44eebf..e262eaa8ca 100644 --- a/src/qml/jsruntime/qv4script.cpp +++ b/src/qml/jsruntime/qv4script.cpp @@ -162,8 +162,9 @@ void QmlBindingWrapper::markObjects(Heap::Base *m, ExecutionEngine *e) static ReturnedValue signalParameterGetter(QV4::CallContext *ctx, uint parameterIndex) { - QV4::CallContext *signalEmittingContext = ctx->d()->parent->asCallContext(); - Q_ASSERT(signalEmittingContext); + QV4::Scope scope(ctx); + QV4::Scoped<CallContext> signalEmittingContext(scope, static_cast<Heap::CallContext *>(ctx->d()->parent)); + Q_ASSERT(signalEmittingContext && signalEmittingContext->d()->type >= QV4::Heap::ExecutionContext::Type_SimpleCallContext); return signalEmittingContext->argument(parameterIndex); } |
