fix(wayland): manually remove objects from connection on destroy

Signed-off-by: Schmarni <marnistromer@gmail.com>
This commit is contained in:
Schmarni
2025-09-29 17:45:03 +02:00
parent bbf12b9e31
commit 2d6bc06cbe
14 changed files with 140 additions and 44 deletions

View File

@@ -130,11 +130,13 @@ impl Default for PositionerData {
#[waynest(error = crate::wayland::WaylandError)]
pub struct Positioner {
data: Mutex<PositionerData>,
id: ObjectId,
}
impl Default for Positioner {
fn default() -> Self {
impl Positioner {
pub fn new(id: ObjectId) -> Self {
Self {
data: Mutex::new(PositionerData::default()),
id,
}
}
}
@@ -253,9 +255,10 @@ impl XdgPositioner for Positioner {
async fn destroy(
&self,
_client: &mut Self::Connection,
client: &mut Self::Connection,
_sender_id: ObjectId,
) -> WaylandResult<()> {
client.remove(self.id);
Ok(())
}
}