From 293a087b8a39d48f2a68742a1cef26df6afcdb66 Mon Sep 17 00:00:00 2001 From: "Luke D. Jones" Date: Fri, 10 May 2024 23:14:48 +1200 Subject: [PATCH] Fixups --- asusd/src/ctrl_aura/controller.rs | 5 +++-- asusd/src/ctrl_aura/mod.rs | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/asusd/src/ctrl_aura/controller.rs b/asusd/src/ctrl_aura/controller.rs index 0f8bdfcc..b4d831da 100644 --- a/asusd/src/ctrl_aura/controller.rs +++ b/asusd/src/ctrl_aura/controller.rs @@ -109,7 +109,7 @@ impl CtrlKbdLed { conn: Connection, ) -> Result<(), RogError> { let dbus_path = self.dbus_path.clone(); - interfaces.insert(dbus_path.clone()); + let dbus_path_cpy = self.dbus_path.clone(); info!( "AuraManager starting device at: {:?}, {:?}", dbus_path, self.led_type @@ -121,6 +121,7 @@ impl CtrlKbdLed { tokio::spawn( async move { start_tasks(zbus, conn_copy.clone(), sig_ctx2, dbus_path).await }, ); + interfaces.insert(dbus_path_cpy); Ok(()) } @@ -134,7 +135,7 @@ impl CtrlKbdLed { if let Some(usb_device) = device.parent_with_subsystem_devtype("usb", "usb_device")? { let dbus_path = dbus_path_for_dev(&usb_device).unwrap_or_default(); if interfaces.contains(&dbus_path) { - debug!("Already a ctrl at {dbus_path:?}"); + debug!("Already a ctrl at {dbus_path:?}, ignoring this end-point"); return Ok(None); } diff --git a/asusd/src/ctrl_aura/mod.rs b/asusd/src/ctrl_aura/mod.rs index e9506738..912af9e1 100644 --- a/asusd/src/ctrl_aura/mod.rs +++ b/asusd/src/ctrl_aura/mod.rs @@ -13,7 +13,7 @@ pub mod trait_impls; pub(super) fn filename_partial(parent: &Device) -> Option { if let Some(id_product) = parent.attribute_value("idProduct") { let id_product = id_product.to_string_lossy(); - let path = if let Some(devnum) = parent.attribute_value("devnum") { + let mut path = if let Some(devnum) = parent.attribute_value("devnum") { let devnum = devnum.to_string_lossy(); if let Some(devpath) = parent.attribute_value("devpath") { let devpath = devpath.to_string_lossy(); @@ -26,8 +26,9 @@ pub(super) fn filename_partial(parent: &Device) -> Option { }; if path.contains('.') { warn!("dbus path for {id_product} contains `.`, removing"); + path = path.replace('.', "").to_owned(); } - return Some(ObjectPath::from_str_unchecked(path.trim_matches('.')).into()); + return Some(ObjectPath::from_str_unchecked(&path).into()); } None }