fix: Fixed deleting a workspace and restarting, b=no-bug, c=glance, split-view, workspaces

This commit is contained in:
Mr. M
2025-08-02 20:50:48 +02:00
parent 75a04bb354
commit 3ba805802a
3 changed files with 7 additions and 3 deletions

View File

@@ -636,7 +636,7 @@
.closest('.browserSidebarContainer') .closest('.browserSidebarContainer')
.classList.remove('zen-glance-background'); .classList.remove('zen-glance-background');
this.#currentParentTab._visuallySelected = false; this.#currentParentTab._visuallySelected = false;
gBrowser.TabStateFlusher.flush(this.#currentTab); gBrowser.TabStateFlusher.flush(this.#currentTab.linkedBrowser);
const sidebarButtons = this.browserWrapper.querySelector('.zen-glance-sidebar-container'); const sidebarButtons = this.browserWrapper.querySelector('.zen-glance-sidebar-container');
if (sidebarButtons) { if (sidebarButtons) {
sidebarButtons.remove(); sidebarButtons.remove();

View File

@@ -494,7 +494,7 @@ class nsZenViewSplitter extends nsZenDOMOperatedFeature {
this.getSplitters(node)?.forEach((s) => s.remove()); this.getSplitters(node)?.forEach((s) => s.remove());
this._splitNodeToSplitters.delete(node); this._splitNodeToSplitters.delete(node);
if (!recursive) return; 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() { get rearangeActionTarget() {

View File

@@ -970,7 +970,9 @@ var gZenWorkspaces = new (class extends nsZenMultiWindowFeature {
) { ) {
this.log(`Found tab to select: ${this._tabToSelect}, ${tabs.length}`); this.log(`Found tab to select: ${this._tabToSelect}, ${tabs.length}`);
setTimeout(() => { setTimeout(() => {
let tabToUse = gZenGlanceManager.getTabOrGlanceParent(tabs[this._tabToSelect + 1]); let tabToUse = gZenGlanceManager.getTabOrGlanceParent(
tabs[this._tabToSelect + 1] || this._emptyTab
);
gBrowser.selectedTab = tabToUse; gBrowser.selectedTab = tabToUse;
this._removedByStartupPage = true; this._removedByStartupPage = true;
gBrowser.removeTab(this._tabToRemoveForEmpty, { gBrowser.removeTab(this._tabToRemoveForEmpty, {
@@ -1578,6 +1580,8 @@ var gZenWorkspaces = new (class extends nsZenMultiWindowFeature {
makeSureEmptyTabIsFirst() { makeSureEmptyTabIsFirst() {
const emptyTab = this._emptyTab; const emptyTab = this._emptyTab;
if (emptyTab) { if (emptyTab) {
emptyTab.setAttribute('zen-workspace-id', this.activeWorkspace);
gBrowser.TabStateFlusher.flush(emptyTab.linkedBrowser);
const container = this.activeWorkspaceStrip; const container = this.activeWorkspaceStrip;
if (container) { if (container) {
container.insertBefore(emptyTab, container.firstChild); container.insertBefore(emptyTab, container.firstChild);