Bugfix: destroy the deref clone stackoverflow

This commit is contained in:
Luke D Jones
2021-03-11 23:42:38 +13:00
parent 01386599f4
commit 8a63dce85f
4 changed files with 30 additions and 29 deletions

View File

@@ -1,6 +1,6 @@
[package]
name = "asusctl"
version = "3.1.2"
version = "3.1.3"
authors = ["Luke D Jones <luke@ljones.dev>"]
edition = "2018"

View File

@@ -4,12 +4,7 @@ use daemon::{
};
use gumdrop::{Opt, Options};
use rog_dbus::AuraDbusClient;
use rog_types::{
anime_matrix::{AniMeDataBuffer, FULL_PANE_LEN},
cli_options::{AniMeActions, AniMeStatusValue, LedBrightness, SetAuraBuiltin},
gfx_vendors::GfxVendors,
profile::{FanLevel, ProfileCommand, ProfileEvent},
};
use rog_types::{anime_matrix::{AniMeDataBuffer, FULL_PANE_LEN}, aura_modes::AuraModes, cli_options::{AniMeActions, AniMeStatusValue, LedBrightness, SetAuraBuiltin}, gfx_vendors::GfxVendors, profile::{FanLevel, ProfileCommand, ProfileEvent}};
use std::env::args;
use yansi_term::Colour::Green;
use yansi_term::Colour::Red;
@@ -336,17 +331,23 @@ fn handle_led_mode(
}
println!("\nHelp can also be requested on modes, e.g: static --help");
std::process::exit(1);
return Ok(());
}
if mode.next_mode && mode.prev_mode {
println!("Please specify either next or previous")
println!("Please specify either next or previous");
return Ok(());
}
if mode.next_mode {
dbus.proxies().led().next_led_mode()?;
} else if mode.prev_mode {
dbus.proxies().led().prev_led_mode()?;
} else if let Some(command) = mode.command.as_ref() {
dbus.proxies().led().set_led_mode(&command.into())?
} else if let Some(mode) = mode.command.as_ref() {
if mode.help_requested() {
println!("{}", mode.self_usage());
return Ok(());
}
dbus.proxies().led().set_led_mode(&<AuraModes>::from(mode))?;
}
Ok(())
}