diff options
Diffstat (limited to 'src/qml/jsruntime/qv4functionobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4functionobject.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qml/jsruntime/qv4functionobject.cpp b/src/qml/jsruntime/qv4functionobject.cpp index 4538884bce..10b2590047 100644 --- a/src/qml/jsruntime/qv4functionobject.cpp +++ b/src/qml/jsruntime/qv4functionobject.cpp @@ -343,19 +343,19 @@ ReturnedValue FunctionPrototype::method_apply(CallContext *ctx) if (!arg->isNullOrUndefined()) return ctx->throwTypeError(); } else { - len = ArrayPrototype::getLength(ctx, arr); + len = arr->getLength(); } ScopedCallData callData(scope, len); if (len) { - if (!(arr->flags & SimpleArray) || arr->protoHasArray() || arr->hasAccessorProperty) { + if (arr->arrayType() != ArrayData::Simple || arr->protoHasArray() || arr->hasAccessorProperty) { for (quint32 i = 0; i < len; ++i) callData->args[i] = arr->getIndexed(i); } else { - int alen = qMin(len, arr->arrayData.length); + int alen = qMin(len, arr->arrayData->length()); for (int i = 0; i < alen; ++i) - callData->args[i] = arr->arrayData.data[i].value; + callData->args[i] = arr->arrayData->data[i].value; for (quint32 i = alen; i < len; ++i) callData->args[i] = Primitive::undefinedValue(); } |