diff --git a/src/zen/glance/ZenGlanceManager.mjs b/src/zen/glance/ZenGlanceManager.mjs index be5c0b286..83eb5c069 100644 --- a/src/zen/glance/ZenGlanceManager.mjs +++ b/src/zen/glance/ZenGlanceManager.mjs @@ -636,7 +636,7 @@ .closest('.browserSidebarContainer') .classList.remove('zen-glance-background'); this.#currentParentTab._visuallySelected = false; - gBrowser.TabStateFlusher.flush(this.#currentTab); + gBrowser.TabStateFlusher.flush(this.#currentTab.linkedBrowser); const sidebarButtons = this.browserWrapper.querySelector('.zen-glance-sidebar-container'); if (sidebarButtons) { sidebarButtons.remove(); diff --git a/src/zen/split-view/ZenViewSplitter.mjs b/src/zen/split-view/ZenViewSplitter.mjs index f3210d122..10990d456 100644 --- a/src/zen/split-view/ZenViewSplitter.mjs +++ b/src/zen/split-view/ZenViewSplitter.mjs @@ -494,7 +494,7 @@ class nsZenViewSplitter extends nsZenDOMOperatedFeature { this.getSplitters(node)?.forEach((s) => s.remove()); this._splitNodeToSplitters.delete(node); if (!recursive) return; - if (node.children) node.children.forEach((c) => this._removeNodeSplitters(c)); + if (node && node.children) node.children.forEach((c) => this._removeNodeSplitters(c)); } get rearangeActionTarget() { diff --git a/src/zen/workspaces/ZenWorkspaces.mjs b/src/zen/workspaces/ZenWorkspaces.mjs index 18e57954d..81ec1c468 100644 --- a/src/zen/workspaces/ZenWorkspaces.mjs +++ b/src/zen/workspaces/ZenWorkspaces.mjs @@ -970,7 +970,9 @@ var gZenWorkspaces = new (class extends nsZenMultiWindowFeature { ) { this.log(`Found tab to select: ${this._tabToSelect}, ${tabs.length}`); setTimeout(() => { - let tabToUse = gZenGlanceManager.getTabOrGlanceParent(tabs[this._tabToSelect + 1]); + let tabToUse = gZenGlanceManager.getTabOrGlanceParent( + tabs[this._tabToSelect + 1] || this._emptyTab + ); gBrowser.selectedTab = tabToUse; this._removedByStartupPage = true; gBrowser.removeTab(this._tabToRemoveForEmpty, { @@ -1578,6 +1580,8 @@ var gZenWorkspaces = new (class extends nsZenMultiWindowFeature { makeSureEmptyTabIsFirst() { const emptyTab = this._emptyTab; if (emptyTab) { + emptyTab.setAttribute('zen-workspace-id', this.activeWorkspace); + gBrowser.TabStateFlusher.flush(emptyTab.linkedBrowser); const container = this.activeWorkspaceStrip; if (container) { container.insertBefore(emptyTab, container.firstChild);