aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4arraybuffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsruntime/qv4arraybuffer.cpp')
-rw-r--r--src/qml/jsruntime/qv4arraybuffer.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4arraybuffer.cpp b/src/qml/jsruntime/qv4arraybuffer.cpp
index 28e95a03d5..b8f6f61820 100644
--- a/src/qml/jsruntime/qv4arraybuffer.cpp
+++ b/src/qml/jsruntime/qv4arraybuffer.cpp
@@ -215,9 +215,12 @@ void ArrayBufferPrototype::init(ExecutionEngine *engine, Object *ctor)
ReturnedValue ArrayBufferPrototype::method_get_byteLength(const FunctionObject *f, const Value *thisObject, const Value *, int)
{
const ArrayBuffer *a = thisObject->as<ArrayBuffer>();
- if (!a || a->hasDetachedArrayData() || a->isSharedArrayBuffer())
+ if (!a || a->isSharedArrayBuffer())
return f->engine()->throwTypeError();
+ if (a->hasDetachedArrayData())
+ return Encode(0);
+
return Encode(a->arrayDataLength());
}