diff --git a/src/core/evaluator.js b/src/core/evaluator.js index bf9b05563..044cc7c1f 100644 --- a/src/core/evaluator.js +++ b/src/core/evaluator.js @@ -468,11 +468,12 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { xref, stateManager) { // This array holds the converted/processed state data. var gStateObj = []; - var gStateMap = gState.map; + var gStateKeys = gState.getKeys(); var self = this; var promise = Promise.resolve(); - for (var key in gStateMap) { - var value = gStateMap[key]; + for (var i = 0, ii = gStateKeys.length; i < ii; i++) { + var key = gStateKeys[i]; + var value = gState.get(key); switch (key) { case 'Type': break; @@ -505,12 +506,11 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { gStateObj.push([key, false]); break; } - var dict = xref.fetchIfRef(value); - if (isDict(dict)) { - promise = promise.then(function () { + if (isDict(value)) { + promise = promise.then(function (dict) { return self.handleSMask(dict, resources, operatorList, task, stateManager); - }); + }.bind(this, value)); gStateObj.push([key, true]); } else { warn('Unsupported SMask type');