Fixes a regression from PR 4982
After PR 4982, the rendering of the first two pages of http://www.openmagazin.cz/pdf/2011/openMagazin-2011-04.pdf (from issue 215) no longer completes. The issue is that we cannot have `args === null` in `PartialEvaluator_buildPath`, but *must* use an empty array instead. In this patch I've also moved the `argsLength` variable definition in `EvaluatorPreprocessor_read`, to make sure that it's always defined.
This commit is contained in:
parent
669a4d196e
commit
66c56ac546
@ -578,6 +578,9 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
|
|
||||||
buildPath: function PartialEvaluator_buildPath(operatorList, fn, args) {
|
buildPath: function PartialEvaluator_buildPath(operatorList, fn, args) {
|
||||||
var lastIndex = operatorList.length - 1;
|
var lastIndex = operatorList.length - 1;
|
||||||
|
if (!args) {
|
||||||
|
args = [];
|
||||||
|
}
|
||||||
if (lastIndex < 0 ||
|
if (lastIndex < 0 ||
|
||||||
operatorList.fnArray[lastIndex] !== OPS.constructPath) {
|
operatorList.fnArray[lastIndex] !== OPS.constructPath) {
|
||||||
operatorList.addOp(OPS.constructPath, [[fn], args]);
|
operatorList.addOp(OPS.constructPath, [[fn], args]);
|
||||||
@ -2123,10 +2126,10 @@ var EvaluatorPreprocessor = (function EvaluatorPreprocessorClosure() {
|
|||||||
|
|
||||||
var fn = opSpec.id;
|
var fn = opSpec.id;
|
||||||
var numArgs = opSpec.numArgs;
|
var numArgs = opSpec.numArgs;
|
||||||
|
var argsLength = args !== null ? args.length : 0;
|
||||||
|
|
||||||
if (!opSpec.variableArgs) {
|
if (!opSpec.variableArgs) {
|
||||||
// Postscript commands can be nested, e.g. /F2 /GS2 gs 5.711 Tf
|
// Postscript commands can be nested, e.g. /F2 /GS2 gs 5.711 Tf
|
||||||
var argsLength = args !== null ? args.length : 0;
|
|
||||||
if (argsLength !== numArgs) {
|
if (argsLength !== numArgs) {
|
||||||
var nonProcessedArgs = this.nonProcessedArgs;
|
var nonProcessedArgs = this.nonProcessedArgs;
|
||||||
while (argsLength > numArgs) {
|
while (argsLength > numArgs) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user