Ensure that PartialEvaluator.hasBlendModes handles Blend Modes in Arrays (PR 11281 follow-up)

I completely overlooked this in PR 11281, but you obviously need to make similar changes in `PartialEvaluator.hasBlendModes` since it will otherwise ignore valid Blend Modes.
This commit is contained in:
Jonas Jenwald 2019-10-28 11:28:13 +01:00
parent 31737565d5
commit 0496ea61f5

View File

@ -230,10 +230,21 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
if (graphicState.objId) { if (graphicState.objId) {
processed[graphicState.objId] = true; processed[graphicState.objId] = true;
} }
var bm = graphicState.get('BM');
if ((bm instanceof Name) && bm.name !== 'Normal') { const bm = graphicState.get('BM');
if (bm instanceof Name) {
if (bm.name !== 'Normal') {
return true; return true;
} }
continue;
}
if (bm !== undefined && Array.isArray(bm)) {
for (let j = 0, jj = bm.length; j < jj; j++) {
if ((bm[j] instanceof Name) && bm[j].name !== 'Normal') {
return true;
}
}
}
} }
} }
// Descend into the XObjects to look for more resources and blend modes. // Descend into the XObjects to look for more resources and blend modes.