diff --git a/src/wayland/protocols/toplevel_management.rs b/src/wayland/protocols/toplevel_management.rs index 9ec5132a..f252fde5 100644 --- a/src/wayland/protocols/toplevel_management.rs +++ b/src/wayland/protocols/toplevel_management.rs @@ -237,11 +237,10 @@ where window_from_handle::<::Window>(toplevel).unwrap(); if let Some(toplevel_state) = window.user_data().get::() { let mut toplevel_state = toplevel_state.lock().unwrap(); - if width == 0 && height == 0 { - toplevel_state - .rectangles - .retain(|(s, _)| s.id() != surface.id()); - } else { + toplevel_state + .rectangles + .retain(|(s, _)| s.id() != surface.id()); + if width != 0 || height != 0 { toplevel_state.rectangles.push(( surface.downgrade(), Rectangle::new((x, y).into(), (width, height).into()),