From ac777007944fb19573dc2319c2e0ab25505e13e8 Mon Sep 17 00:00:00 2001 From: "Derek J. Clark" Date: Mon, 10 Feb 2025 21:42:10 -0800 Subject: [PATCH] fix(Manager): Don't retain references to dead targets. --- src/input/manager.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/input/manager.rs b/src/input/manager.rs index 7b84239..b646751 100644 --- a/src/input/manager.rs +++ b/src/input/manager.rs @@ -346,6 +346,13 @@ impl Manager { continue; }; + self.composite_device_targets + .entry(device_path.clone()) + .and_modify(|paths| { + paths.remove(&path); + }); + log::debug!("Used target devices: {:?}", self.composite_device_targets); + let is_suspended = match device.is_suspended().await { Ok(suspended) => suspended, Err(e) => { @@ -366,12 +373,6 @@ impl Manager { .filter(|paf| paf.as_str() != device_path.as_str()) .collect(); log::info!("Gamepad order: {:?}", self.target_gamepad_order); - - self.composite_device_targets - .entry(device_path) - .and_modify(|paths| { - paths.remove(&path); - }); } ManagerCommand::DeviceAdded { device } => { let dev_name = device.name(); @@ -686,7 +687,7 @@ impl Manager { paths.insert(target_path.to_string()); paths }); - log::trace!("Used target devices: {:?}", self.composite_device_targets); + log::debug!("Used target devices: {:?}", self.composite_device_targets); log::debug!("Finished handling attach request for: {target_path}");