git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit503406d328ba92a1df4fa3b96cf8b5b9dc708982
parent49fcf8cb7f
authorLucas Galante <[email protected]>
date2026-07-02 22:18
Fix state saving during clean exit to prevent empty window list on login

 src/server/window_manager.rs | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/server/window_manager.rs b/src/server/window_manager.rs
index bc86fcb..7e9c2ef 100644
--- a/src/server/window_manager.rs
+++ b/src/server/window_manager.rs
@@ -380,11 +380,13 @@ impl WindowManager {
             return;
         }
         log::info!("Starting clean exit process...");
-        self.clean_exit_in_progress = true;
 
-        // Save state before closing windows
+        // Save state before closing windows and setting exit flags
         self.save_state();
 
+        self.clean_exit_in_progress = true;
+        self.shutting_down = true;
+
         // Get list of windows we need to wait for to close cleanly
         let mut normal_windows = Vec::new();
         for &w in self.windows.iter() {