diff --git a/src/zen/sessionstore/ZenWindowSync.sys.mjs b/src/zen/sessionstore/ZenWindowSync.sys.mjs index 12993d74b..1c1ba7b22 100644 --- a/src/zen/sessionstore/ZenWindowSync.sys.mjs +++ b/src/zen/sessionstore/ZenWindowSync.sys.mjs @@ -521,10 +521,13 @@ class nsZenWindowSync { if (flags & SYNC_FLAG_ICON) { aTargetItem.zenStaticIcon = aOriginalItem.zenStaticIcon; if (gBrowser.isTab(aOriginalItem)) { - gBrowser.setIcon( - aTargetItem, - aOriginalItem.getAttribute("image") || gBrowser.getIcon(aOriginalItem) - ); + try { + gBrowser.setIcon( + aTargetItem, + aOriginalItem.getAttribute("image") || + gBrowser.getIcon(aOriginalItem) + ); + } catch {} } else if (aOriginalItem.isZenFolder) { // Icons are a zen-only feature for tab groups. gZenFolders.setFolderUserIcon(aTargetItem, aOriginalItem.iconURL); @@ -1542,6 +1545,7 @@ class nsZenWindowSync { console.error(`Error moving active tabs to other windows on close:`, e); } resolve(); + this.#docShellSwitchPromise = null; } on_WindowCloseAndBrowserFlushed(aBrowsers) {