diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-10-07 12:23:38 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-11 08:56:13 +0200 |
commit | 45dbc9f1bb72f9661b43d632d82d634ef52f662e (patch) | |
tree | 334d80d5cac0fa62dc339595ac37a14de7a5cea3 /src/qml/jsruntime | |
parent | 8fbb94cfc614a16700e599ec590c104360215447 (diff) |
Remove more direct usages of Managed pointers
Change-Id: I32f61b7919797eef51a8705695787175b76244c4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime')
-rw-r--r-- | src/qml/jsruntime/qv4sequenceobject.cpp | 14 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4sequenceobject_p.h | 2 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/qml/jsruntime/qv4sequenceobject.cpp b/src/qml/jsruntime/qv4sequenceobject.cpp index 8d3dd97e83..c535dbea09 100644 --- a/src/qml/jsruntime/qv4sequenceobject.cpp +++ b/src/qml/jsruntime/qv4sequenceobject.cpp @@ -455,7 +455,7 @@ public: QVariant toVariant() const { return QVariant::fromValue<Container>(m_container); } - static QVariant toVariant(QV4::ArrayObject *array) + static QVariant toVariant(QV4::ArrayObjectRef array) { QV4::Scope scope(array->engine()); Container result; @@ -544,12 +544,13 @@ void SequencePrototype::init() QV4::ReturnedValue SequencePrototype::method_sort(QV4::SimpleCallContext *ctx) { - QV4::Object *o = ctx->callData->thisObject.asObject(); + QV4::Scope scope(ctx); + QV4::ScopedObject o(scope, ctx->callData->thisObject); if (!o || !o->isListType()) ctx->throwTypeError(); if (ctx->callData->argc >= 2) - return ctx->callData->thisObject.asReturnedValue(); + return o.asReturnedValue(); #define CALL_SORT(SequenceElementType, SequenceElementTypeName, SequenceType, DefaultValue) \ if (QQml##SequenceElementTypeName##List *s = o->as<QQml##SequenceElementTypeName##List>()) { \ @@ -559,7 +560,7 @@ QV4::ReturnedValue SequencePrototype::method_sort(QV4::SimpleCallContext *ctx) FOREACH_QML_SEQUENCE_TYPE(CALL_SORT) #undef CALL_SORT - return ctx->callData->thisObject.asReturnedValue(); + return o.asReturnedValue(); } #define IS_SEQUENCE(unused1, unused2, SequenceType, unused3) \ @@ -615,7 +616,7 @@ ReturnedValue SequencePrototype::fromVariant(QV4::ExecutionEngine *engine, const return list->toVariant(); \ else -QVariant SequencePrototype::toVariant(QV4::Object *object) +QVariant SequencePrototype::toVariant(ObjectRef object) { Q_ASSERT(object->isListType()); FOREACH_QML_SEQUENCE_TYPE(SEQUENCE_TO_VARIANT) { /* else */ return QVariant(); } @@ -636,8 +637,7 @@ QVariant SequencePrototype::toVariant(const QV4::ValueRef array, int typeHint, b return QVariant(); } QV4::Scope scope(array->engine()); - // ### GC - QV4::ArrayObject *a = array->asArrayObject(); + QV4::ScopedArrayObject a(scope, array); FOREACH_QML_SEQUENCE_TYPE(SEQUENCE_TO_VARIANT) { /* else */ *succeeded = false; return QVariant(); } } diff --git a/src/qml/jsruntime/qv4sequenceobject_p.h b/src/qml/jsruntime/qv4sequenceobject_p.h index d2a7054425..3bbb86f231 100644 --- a/src/qml/jsruntime/qv4sequenceobject_p.h +++ b/src/qml/jsruntime/qv4sequenceobject_p.h @@ -80,7 +80,7 @@ struct SequencePrototype : public QV4::Object static ReturnedValue newSequence(QV4::ExecutionEngine *engine, int sequenceTypeId, QObject *object, int propertyIndex, bool *succeeded); static ReturnedValue fromVariant(QV4::ExecutionEngine *engine, const QVariant& v, bool *succeeded); static int metaTypeForSequence(ObjectRef object); - static QVariant toVariant(QV4::Object *object); + static QVariant toVariant(QV4::ObjectRef object); static QVariant toVariant(const ValueRef array, int typeHint, bool *succeeded); }; |