diff options
Diffstat (limited to 'src/declarative/qml/v8/qv8sequencewrapper.cpp')
-rw-r--r-- | src/declarative/qml/v8/qv8sequencewrapper.cpp | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/src/declarative/qml/v8/qv8sequencewrapper.cpp b/src/declarative/qml/v8/qv8sequencewrapper.cpp index 61fb993d8c..f63b5da4ea 100644 --- a/src/declarative/qml/v8/qv8sequencewrapper.cpp +++ b/src/declarative/qml/v8/qv8sequencewrapper.cpp @@ -89,19 +89,11 @@ void QV8SequenceWrapper::destroy() qPersistentDispose(m_constructor); } -bool QV8SequenceWrapper::isEqual(QV8ObjectResource *lhs, const QVariant &rhs) -{ - Q_ASSERT(lhs->resourceType() == QV8ObjectResource::SequenceType); - QV8SequenceResource *r = static_cast<QV8SequenceResource *>(lhs); - Q_ASSERT(r); - return r->isEqual(rhs); -} - bool QV8SequenceWrapper::isEqual(QV8ObjectResource *lhs, QV8ObjectResource *rhs) { + Q_ASSERT(lhs && rhs && lhs->resourceType() == QV8ObjectResource::SequenceType && rhs->resourceType() == QV8ObjectResource::SequenceType); QV8SequenceResource *lr = static_cast<QV8SequenceResource *>(lhs); QV8SequenceResource *rr = static_cast<QV8SequenceResource *>(rhs); - Q_ASSERT(lr && rr); return lr->isEqual(rr); } @@ -173,23 +165,7 @@ QVariant QV8SequenceWrapper::toVariant(QV8ObjectResource *r) QVariant QV8SequenceWrapper::toVariant(v8::Handle<v8::Array> array, int typeHint, bool *succeeded) { *succeeded = true; - QV8SequenceResource *sr = static_cast<QV8SequenceResource *>(array->GetExternalResource()); - if (sr) - return sr->toVariant(); - - // if no typehint is given it's just a sequence of arbitrary variants uint32_t length = array->Length(); - if (typeHint == -1) { - QVariantList list; - for (uint32_t ii = 0; ii < length; ++ii) { - v8::Local<v8::Value> arrayItem = array->Get(ii); - list.append(m_engine->toVariant(arrayItem, -1)); - } - - return list; - } - - // otherwise, try to build a sequence of the correct type FOREACH_QML_SEQUENCE_TYPE(SEQUENCE_TO_VARIANT) { /* else */ *succeeded = false; return QVariant(); } } #undef SEQUENCE_TO_VARIANT |