diff --git a/chrome/content/zotero/recognizePDFDialog.js b/chrome/content/zotero/recognizePDFDialog.js index 2481d0d850..5a56782fa3 100644 --- a/chrome/content/zotero/recognizePDFDialog.js +++ b/chrome/content/zotero/recognizePDFDialog.js @@ -51,14 +51,7 @@ var Zotero_RecognizePDF_Dialog = new function () { }; function close() { - if (!_progressWindow) return; - Zotero.RecognizePDF.removeListener('rowadded'); - Zotero.RecognizePDF.removeListener('rowupdated'); - Zotero.RecognizePDF.removeListener('rowdeleted'); _progressWindow.close(); - _progressWindow = null; - _progressIndicator = null; - _rowIDs = []; } function _getImageByStatus(status) { @@ -143,7 +136,15 @@ var Zotero_RecognizePDF_Dialog = new function () { close(); } }); - _progressWindow.addEventListener('close', close.bind(this), false); + + _progressWindow.addEventListener('unload', function () { + Zotero.RecognizePDF.removeListener('rowadded'); + Zotero.RecognizePDF.removeListener('rowupdated'); + Zotero.RecognizePDF.removeListener('rowdeleted'); + _progressWindow = null; + _progressIndicator = null; + _rowIDs = []; + }); _updateProgress(); diff --git a/test/tests/recognizePDFTest.js b/test/tests/recognizePDFTest.js index 5bc9d4ae6a..4a6632698f 100644 --- a/test/tests/recognizePDFTest.js +++ b/test/tests/recognizePDFTest.js @@ -19,6 +19,7 @@ describe("PDF Recognition", function() { for(let win of getWindows("chrome://zotero/content/recognizePDFDialog.xul")) { win.close(); } + Zotero.RecognizePDF.cancel(); }); after(function() {