diff options
Diffstat (limited to 'src/qml/qml/qqmllistwrapper.cpp')
-rw-r--r-- | src/qml/qml/qqmllistwrapper.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/qml/qml/qqmllistwrapper.cpp b/src/qml/qml/qqmllistwrapper.cpp index 5f4e92fa4e..3746d58d77 100644 --- a/src/qml/qml/qqmllistwrapper.cpp +++ b/src/qml/qml/qqmllistwrapper.cpp @@ -69,24 +69,26 @@ ReturnedValue QmlListWrapper::create(QV8Engine *v8, QObject *object, int propId, return Encode::null(); ExecutionEngine *v4 = QV8Engine::getV4(v8); + Scope scope(v4); - QmlListWrapper *r = new (v4->memoryManager) QmlListWrapper(v8); + Scoped<QmlListWrapper> r(scope, new (v4->memoryManager) QmlListWrapper(v8)); r->object = object; r->propertyType = propType; void *args[] = { &r->property, 0 }; QMetaObject::metacall(object, QMetaObject::ReadProperty, propId, args); - return Value::fromObject(r).asReturnedValue(); + return r.asReturnedValue(); } ReturnedValue QmlListWrapper::create(QV8Engine *v8, const QQmlListProperty<QObject> &prop, int propType) { ExecutionEngine *v4 = QV8Engine::getV4(v8); + Scope scope(v4); - QmlListWrapper *r = new (v4->memoryManager) QmlListWrapper(v8); + Scoped<QmlListWrapper> r(scope, new (v4->memoryManager) QmlListWrapper(v8)); r->object = prop.object; r->property = prop; r->propertyType = propType; - return Value::fromObject(r).asReturnedValue(); + return r.asReturnedValue(); } QVariant QmlListWrapper::toVariant() const |