aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-10-07 12:23:38 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-11 08:56:13 +0200
commit45dbc9f1bb72f9661b43d632d82d634ef52f662e (patch)
tree334d80d5cac0fa62dc339595ac37a14de7a5cea3 /src/qml/jsruntime
parent8fbb94cfc614a16700e599ec590c104360215447 (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.cpp14
-rw-r--r--src/qml/jsruntime/qv4sequenceobject_p.h2
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);
};