Skip to content

Commit dbabb7d

Browse files
authored
chore(🐙): respect byteOffset and byteLength in array buffer creation (#3733)
1 parent fdd8d6c commit dbabb7d

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

packages/skia/cpp/rnwgpu/ArrayBuffer.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,13 @@ template <> struct JSIConverter<std::shared_ptr<ArrayBuffer>> {
4949
auto buff = bufferProp.getObject(runtime);
5050
auto bytesPerElements =
5151
obj.getProperty(runtime, "BYTES_PER_ELEMENT").asNumber();
52-
return createArrayBufferFromJSI(
53-
runtime, buff.getArrayBuffer(runtime),
52+
auto arrayBuffer = buff.getArrayBuffer(runtime);
53+
auto byteOffset = static_cast<size_t>(
54+
obj.getProperty(runtime, "byteOffset").asNumber());
55+
auto byteLength = static_cast<size_t>(
56+
obj.getProperty(runtime, "byteLength").asNumber());
57+
return std::make_shared<ArrayBuffer>(
58+
arrayBuffer.data(runtime) + byteOffset, byteLength,
5459
static_cast<size_t>(bytesPerElements));
5560
}
5661
}

0 commit comments

Comments
 (0)