Prevent TypeError: page is undefined when the document has been destroyed (PR 6546 follow-up)

*Follow-up to PR 6546.*

If rendering has already started when the document is destroyed, then `this.pageCache[data.pageIndex]` may already have been cleared when the `StartRenderingPage`/`RenderPageChunk` messages are recieved in `api.js`, which results in `TypeError`s being thrown.
This commit is contained in:
Jonas Jenwald 2015-10-23 20:44:18 +02:00
parent 5111422d89
commit 5bd95df427

View File

@ -1233,6 +1233,9 @@ var WorkerTransport = (function WorkerTransportClosure() {
}, this);
messageHandler.on('StartRenderPage', function transportRender(data) {
if (this.destroyed) {
return; // Ignore any pending requests if the worker was terminated.
}
var page = this.pageCache[data.pageIndex];
page.stats.timeEnd('Page Request');
@ -1240,6 +1243,9 @@ var WorkerTransport = (function WorkerTransportClosure() {
}, this);
messageHandler.on('RenderPageChunk', function transportRender(data) {
if (this.destroyed) {
return; // Ignore any pending requests if the worker was terminated.
}
var page = this.pageCache[data.pageIndex];
page._renderPageChunk(data.operatorList, data.intent);