From 779177928960725bccbf591a7fc4bcd996339419 Mon Sep 17 00:00:00 2001 From: Abe Jellinek Date: Mon, 3 Jul 2023 15:01:38 -0400 Subject: [PATCH] Fix unloaded tab context menu actions Show in Library and Move to New Window. Will fix zotero/zotero#2685 --- chrome/content/zotero/tabs.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/chrome/content/zotero/tabs.js b/chrome/content/zotero/tabs.js index 70e487d638..bb9fbf5645 100644 --- a/chrome/content/zotero/tabs.js +++ b/chrome/content/zotero/tabs.js @@ -498,9 +498,9 @@ var Zotero_Tabs = new function () { menuitem = document.createXULElement('menuitem'); menuitem.setAttribute('label', Zotero.getString('general.showInLibrary')); menuitem.addEventListener('command', () => { - var reader = Zotero.Reader.getByTabID(id); - if (reader) { - let itemID = reader.itemID; + let { tab } = this._getTab(id); + if (tab && (tab.type === 'reader' || tab.type === 'reader-unloaded')) { + let itemID = tab.data.itemID; let item = Zotero.Items.get(itemID); if (item && item.parentItemID) { itemID = item.parentItemID; @@ -537,11 +537,11 @@ var Zotero_Tabs = new function () { menuitem.setAttribute('label', Zotero.getString('tabs.moveToWindow')); menuitem.setAttribute('disabled', false); menuitem.addEventListener('command', () => { - var reader = Zotero.Reader.getByTabID(id); - if (reader) { + let { tab } = this._getTab(id); + if (tab && (tab.type === 'reader' || tab.type === 'reader-unloaded')) { this.close(id); - let { secondViewState } = tab.data; - Zotero.Reader.open(reader.itemID, null, { openInWindow: true, secondViewState }); + let { itemID, secondViewState } = tab.data; + Zotero.Reader.open(itemID, null, { openInWindow: true, secondViewState }); } }); menupopup.appendChild(menuitem);