diff options
Diffstat (limited to 'src/qml/jsruntime/qv4sequenceobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4sequenceobject.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4sequenceobject.cpp b/src/qml/jsruntime/qv4sequenceobject.cpp index f0a71a8318..e8ba80de35 100644 --- a/src/qml/jsruntime/qv4sequenceobject.cpp +++ b/src/qml/jsruntime/qv4sequenceobject.cpp @@ -624,15 +624,18 @@ QVariant SequencePrototype::toVariant(QV4::Object *object) return QQml##ElementTypeName##List::toVariant(a); \ } else -QVariant SequencePrototype::toVariant(const QV4::Value &array, int typeHint, bool *succeeded) +QVariant SequencePrototype::toVariant(const QV4::ValueRef array, int typeHint, bool *succeeded) { *succeeded = true; - QV4::ArrayObject *a = array.asArrayObject(); - if (!a) { + if (!array->asArrayObject()) { *succeeded = false; return QVariant(); } + QV4::Scope scope(array->engine()); + // ### GC + QV4::ArrayObject *a = array->asArrayObject(); + FOREACH_QML_SEQUENCE_TYPE(SEQUENCE_TO_VARIANT) { /* else */ *succeeded = false; return QVariant(); } } |