Skip to content

Commit 943810a

Browse files
Merge pull request #20727 from calixteman/issue20722
Reset transfer functions when entering in a new group
2 parents 5259abb + 15e7a55 commit 943810a

4 files changed

Lines changed: 17 additions & 0 deletions

File tree

src/core/evaluator.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -903,6 +903,11 @@ class PartialEvaluator {
903903
let transferArray;
904904
if (Array.isArray(tr)) {
905905
transferArray = tr;
906+
if (tr.length > 1 && tr.every(map => map === tr[0])) {
907+
// All entries in the array are the same, so we can just use one of
908+
// them.
909+
transferArray = [tr[0]];
910+
}
906911
} else if (isPDFFunction(tr)) {
907912
transferArray = [tr];
908913
} else {

src/display/canvas.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2668,6 +2668,7 @@ class CanvasGraphics {
26682668
["BM", "source-over"],
26692669
["ca", 1],
26702670
["CA", 1],
2671+
["TR", null],
26712672
]);
26722673
this.groupStack.push(currentCtx);
26732674
this.groupLevel++;

test/pdfs/issue20722.pdf.link

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
https://github.com/user-attachments/files/25484709/get1d.pdf

test/test_manifest.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13954,5 +13954,15 @@
1395413954
"link": true,
1395513955
"lastPage": 1,
1395613956
"type": "eq"
13957+
},
13958+
{
13959+
"id": "issue20722",
13960+
"file": "pdfs/issue20722.pdf",
13961+
"md5": "4a2e58e60973af3004dcfe1ff0be833c",
13962+
"rounds": 1,
13963+
"link": true,
13964+
"firstPage": 171,
13965+
"lastPage": 171,
13966+
"type": "eq"
1395713967
}
1395813968
]

0 commit comments

Comments
 (0)