From aac1e19f08a016ade349569fbf8c0305761de20b Mon Sep 17 00:00:00 2001 From: Ilia Malanin Date: Wed, 17 Jun 2026 12:52:47 +0200 Subject: [PATCH] fix: set_rectangle leak --- src/wayland/protocols/toplevel_management.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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()),