From fb957f5c6ed63297c22e4938c8b8c4d0470048cc Mon Sep 17 00:00:00 2001 From: biggert Date: Wed, 25 Sep 2013 16:25:41 -0500 Subject: [PATCH] Prevent undefined error on null object when calling .destroy on a document initialized with LocalPdfManager. Per @brendandahl's recommendation, moved the terminate function out of worker and into the PdfManager --- src/core/pdf_manager.js | 14 ++++++++++++++ src/core/worker.js | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/core/pdf_manager.js b/src/core/pdf_manager.js index 20dfff1d1..a6641ae4c 100644 --- a/src/core/pdf_manager.js +++ b/src/core/pdf_manager.js @@ -63,6 +63,10 @@ var BasePdfManager = (function BasePdfManagerClosure() { if (this.passwordChangedPromise) { this.passwordChangedPromise.resolve(); } + }, + + terminate: function BasePdfManager_terminate() { + return new NotImplementedException(); } }; @@ -115,6 +119,11 @@ var LocalPdfManager = (function LocalPdfManagerClosure() { return this.loadedStream; }; + LocalPdfManager.prototype.terminate = + function LocalPdfManager_terminate() { + return; + }; + return LocalPdfManager; })(); @@ -192,6 +201,11 @@ var NetworkPdfManager = (function NetworkPdfManagerClosure() { return this.streamManager.onLoadedStream(); }; + NetworkPdfManager.prototype.terminate = + function NetworkPdfManager_terminate() { + this.streamManager.networkManager.abortAllRequests(); + }; + return NetworkPdfManager; })(); diff --git a/src/core/worker.js b/src/core/worker.js index 8c18f347b..d43ef327d 100644 --- a/src/core/worker.js +++ b/src/core/worker.js @@ -368,7 +368,7 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = { }); handler.on('Terminate', function wphTerminate(data, promise) { - pdfManager.streamManager.networkManager.abortAllRequests(); + pdfManager.terminate(); promise.resolve(); }); }