From ac032fc1524f8e00a26580a68ed1c4dc23077c14 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Wed, 16 Jul 2014 13:20:53 +1000 Subject: shift and unshift fail for QQmlSequence types QQmlSequence is a Custom array type, so must use the generic shift/unshift implementation. Task-number: QTBUG-40244 Change-Id: I491d9dc87a3a204daad4cf7460ffac81165056a5 Reviewed-by: Lars Knoll --- src/qml/jsruntime/qv4arrayobject.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/qml/jsruntime/qv4arrayobject.cpp') diff --git a/src/qml/jsruntime/qv4arrayobject.cpp b/src/qml/jsruntime/qv4arrayobject.cpp index d5b3b8a651..fbd757a829 100644 --- a/src/qml/jsruntime/qv4arrayobject.cpp +++ b/src/qml/jsruntime/qv4arrayobject.cpp @@ -371,7 +371,7 @@ ReturnedValue ArrayPrototype::method_shift(CallContext *ctx) ScopedValue result(scope); - if (!instance->protoHasArray() && !instance->arrayData->hasAttributes() && instance->arrayData->length() <= len) { + if (!instance->protoHasArray() && !instance->arrayData->hasAttributes() && instance->arrayData->length() <= len && instance->arrayData->type != ArrayData::Custom) { result = instance->arrayData->vtable()->pop_front(instance.getPointer()); } else { result = instance->getIndexed(0); @@ -550,7 +550,7 @@ ReturnedValue ArrayPrototype::method_unshift(CallContext *ctx) uint len = instance->getLength(); - if (!instance->protoHasArray() && !instance->arrayData->hasAttributes() && instance->arrayData->length() <= len) { + if (!instance->protoHasArray() && !instance->arrayData->hasAttributes() && instance->arrayData->length() <= len && instance->arrayData->type != ArrayData::Custom) { instance->arrayData->vtable()->push_front(instance.getPointer(), ctx->callData->args, ctx->callData->argc); } else { ScopedValue v(scope); -- cgit v1.2.3