Skip to content

Commit 16c8765

Browse files
Merge pull request #19760 from Snuffleupagus/OperatorList-transfers-bitmap
Also transfer `ImageBitmap`s for image masks and inline images
2 parents ff2d95a + 8c5fb79 commit 16c8765

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

src/core/operator_list.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -768,18 +768,20 @@ class OperatorList {
768768
switch (fnArray[i]) {
769769
case OPS.paintInlineImageXObject:
770770
case OPS.paintInlineImageXObjectGroup:
771-
case OPS.paintImageMaskXObject:
772-
const arg = argsArray[i][0]; // First parameter in imgData.
773-
if (arg.data?.buffer instanceof ArrayBuffer) {
774-
transfers.push(arg.data.buffer);
771+
case OPS.paintImageMaskXObject: {
772+
const { bitmap, data } = argsArray[i][0]; // First parameter in imgData.
773+
if (bitmap || data?.buffer) {
774+
transfers.push(bitmap || data.buffer);
775775
}
776776
break;
777-
case OPS.constructPath:
777+
}
778+
case OPS.constructPath: {
778779
const [, [data], minMax] = argsArray[i];
779780
if (data) {
780781
transfers.push(data.buffer, minMax.buffer);
781782
}
782783
break;
784+
}
783785
case OPS.paintFormXObjectBegin:
784786
const [matrix, bbox] = argsArray[i];
785787
if (matrix) {

0 commit comments

Comments
 (0)