shell: Pre-set fullscreen state before unmapping maximized/snapped windows

Fixes #1642
This commit is contained in:
Ilia Malanin 2026-02-13 21:45:03 +01:00 committed by Victoria Brekenfeld
parent 8768e46577
commit 744e0da6f9

View file

@ -4658,6 +4658,8 @@ impl Shell {
stack.remove_window(&surface); stack.remove_window(&surface);
surface surface
} else { } else {
mapped.set_fullscreen(true);
if let Some(state) = mapped.maximized_state.lock().unwrap().take() { if let Some(state) = mapped.maximized_state.lock().unwrap().take() {
mapped.set_maximized(false); mapped.set_maximized(false);
set.sticky_layer.map_internal( set.sticky_layer.map_internal(
@ -4699,6 +4701,8 @@ impl Shell {
return None; return None;
} }
mapped.set_fullscreen(true);
let from = workspace.element_geometry(&mapped).unwrap(); let from = workspace.element_geometry(&mapped).unwrap();
let (surface, state) = workspace.unmap_surface(surface).unwrap(); let (surface, state) = workspace.unmap_surface(surface).unwrap();
window = surface; window = surface;