diff --git a/CHANGELOG.md b/CHANGELOG.md index 9edf988e..1fa0ec9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +# [3.6.1] - 2021-05-25 +### Changed +- Bugfix: write correct fan modes for profiles +- Bugfix: apply created profiles + # [3.6.1] - 2021-05-25 ### Changed - Bugfix for cycling through profiles diff --git a/Cargo.lock b/Cargo.lock index 7afa4291..5fdbcea1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -207,7 +207,7 @@ dependencies = [ [[package]] name = "daemon" -version = "3.6.1" +version = "3.6.2" dependencies = [ "env_logger", "log", diff --git a/asusctl/src/main.rs b/asusctl/src/main.rs index c97f7d58..0b94fde5 100644 --- a/asusctl/src/main.rs +++ b/asusctl/src/main.rs @@ -473,8 +473,8 @@ fn handle_profile( } if cmd.profiles_data { println!("Profiles:"); - for s in dbus.proxies().profile().all_profile_data()?.lines() { - println!("{}", s); + for s in dbus.proxies().profile().all_profile_data()? { + println!("{:?}", s); } } diff --git a/daemon/Cargo.toml b/daemon/Cargo.toml index d255c5a7..e4df6522 100644 --- a/daemon/Cargo.toml +++ b/daemon/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "daemon" -version = "3.6.1" +version = "3.6.2" license = "MPL-2.0" readme = "README.md" authors = ["Luke "] diff --git a/daemon/src/ctrl_profiles/controller.rs b/daemon/src/ctrl_profiles/controller.rs index 16a9d13e..42972c36 100644 --- a/daemon/src/ctrl_profiles/controller.rs +++ b/daemon/src/ctrl_profiles/controller.rs @@ -69,12 +69,12 @@ impl CtrlFanAndCpu { } pub(super) fn set_active(&mut self, profile: &str) -> Result<(), RogError> { - if let Ok(mut cfg) = self.config.clone().try_lock() { - cfg.read(); - if let Some(existing) = cfg.power_profiles.get(profile) { + if let Ok(mut config) = self.config.clone().try_lock() { + config.read(); + if let Some(existing) = config.power_profiles.get(profile) { existing.set_system_all()?; - cfg.active_profile = existing.name.clone(); - cfg.write(); + config.active_profile = existing.name.clone(); + config.write(); info!("Profile was changed to: {}", profile); } } @@ -82,18 +82,20 @@ impl CtrlFanAndCpu { } pub(super) fn new_or_modify(&mut self, profile: &Profile) -> Result<(), RogError> { - if let Ok(mut cfg) = self.config.clone().try_lock() { - cfg.read(); + if let Ok(mut config) = self.config.clone().try_lock() { + config.read(); - if let Some(existing) = cfg.power_profiles.get_mut(&profile.name) { + if let Some(existing) = config.power_profiles.get_mut(&profile.name) { *existing = profile.clone(); existing.set_system_all()?; } else { - cfg.power_profiles + config.power_profiles .insert(profile.name.clone(), profile.clone()); + profile.set_system_all()?; } - cfg.active_profile = profile.name.clone(); - cfg.write(); + + config.active_profile = profile.name.clone(); + config.write(); } Ok(()) } diff --git a/rog-dbus/src/zbus_profile.rs b/rog-dbus/src/zbus_profile.rs index 826da81b..75b87376 100644 --- a/rog-dbus/src/zbus_profile.rs +++ b/rog-dbus/src/zbus_profile.rs @@ -39,7 +39,7 @@ trait Daemon { fn active_data(&self) -> zbus::Result; /// Profiles method - fn profiles(&self) -> zbus::Result; + fn profiles(&self) -> zbus::Result>; /// ProfileNames method fn profile_names(&self) -> zbus::Result>; @@ -78,7 +78,7 @@ impl<'a> ProfileProxy<'a> { } #[inline] - pub fn all_profile_data(&self) -> Result { + pub fn all_profile_data(&self) -> Result> { self.0.profiles() } diff --git a/rog-profiles/src/profiles.rs b/rog-profiles/src/profiles.rs index 2460d494..53754dc8 100644 --- a/rog-profiles/src/profiles.rs +++ b/rog-profiles/src/profiles.rs @@ -112,7 +112,7 @@ impl Profile { pub fn set_system_all(&self) -> Result<(), ProfileError> { self.set_system_pstate()?; - if !self.fan_curve.is_empty() { + if self.fan_curve.is_empty() { self.set_system_fan_mode()?; } else { self.set_system_fan_curve()?;