diff --git a/src/ZenPinnedTabManager.mjs b/src/ZenPinnedTabManager.mjs index c626bfd..e163a4d 100644 --- a/src/ZenPinnedTabManager.mjs +++ b/src/ZenPinnedTabManager.mjs @@ -178,10 +178,9 @@ delete tab._zenClickEventListener; } break; - // TODO: Do this in a better way. Closing a second window could trigger remove tab and delete it from db - // case "TabClose": - // this._removePinnedAttributes(tab); - // break; + case "TabClose": + this._removePinnedAttributes(tab); + break; default: console.warn('ZenPinnedTabManager: Unhandled tab event', action); break; @@ -189,8 +188,8 @@ } _onTabClick(e) { - const tab = e.target; - if (e.button === 1) { + const tab = e.target?.closest("tab"); + if (e.button === 1 && tab) { this._onCloseTabShortcut(e, tab); } } @@ -393,7 +392,7 @@ const element = window.MozXULElement.parseXULToFragment(`