diff --git a/zellij-server/src/tab/mod.rs b/zellij-server/src/tab/mod.rs index d3d37dca..71bb3bea 100644 --- a/zellij-server/src/tab/mod.rs +++ b/zellij-server/src/tab/mod.rs @@ -2786,6 +2786,7 @@ impl Tab { let _closed_pane = self.floating_panes.remove_pane(id); self.floating_panes.move_clients_out_of_pane(id); if !self.floating_panes.has_panes() { + self.swap_layouts.reset_floating_damage(); self.hide_floating_panes(); } self.set_force_render(); @@ -2846,6 +2847,7 @@ impl Tab { let mut closed_pane = self.floating_panes.remove_pane(id); self.floating_panes.move_clients_out_of_pane(id); if !self.floating_panes.has_panes() { + self.swap_layouts.reset_floating_damage(); self.hide_floating_panes(); } self.set_force_render(); diff --git a/zellij-server/src/tab/swap_layouts.rs b/zellij-server/src/tab/swap_layouts.rs index e61fb241..ec009a59 100644 --- a/zellij-server/src/tab/swap_layouts.rs +++ b/zellij-server/src/tab/swap_layouts.rs @@ -61,6 +61,12 @@ impl SwapLayouts { pub fn set_is_tiled_damaged(&mut self) { self.is_tiled_damaged = true; } + pub fn reset_floating_damage(&mut self) { + self.is_floating_damaged = false; + } + pub fn reset_tiled_damage(&mut self) { + self.is_tiled_damaged = false; + } pub fn is_floating_damaged(&self) -> bool { self.is_floating_damaged }