diff --git a/libs/hbb_common/src/config.rs b/libs/hbb_common/src/config.rs index 23576d98f..d248f0c28 100644 --- a/libs/hbb_common/src/config.rs +++ b/libs/hbb_common/src/config.rs @@ -76,7 +76,7 @@ pub struct Config { keys_confirmed: HashMap, } -#[derive(Debug, Default, Serialize, Deserialize, Clone)] +#[derive(Debug, Default, PartialEq, Serialize, Deserialize, Clone)] pub struct Socks5Server { #[serde(default)] pub proxy: String, @@ -502,6 +502,9 @@ impl Config { pub fn set_key_pair(pair: (Vec, Vec)) { let mut config = CONFIG.write().unwrap(); + if config.key_pair == pair { + return; + } config.key_pair = pair; config.store(); } @@ -534,6 +537,9 @@ impl Config { pub fn set_options(v: HashMap) { let mut config = CONFIG2.write().unwrap(); + if config.options == v { + return; + } config.options = v; config.store(); } @@ -636,6 +642,9 @@ impl Config { pub fn set_socks(socks: Option) { let mut config = CONFIG2.write().unwrap(); + if config.socks == socks { + return; + } config.socks = socks; config.store(); } diff --git a/src/ui/ab.tis b/src/ui/ab.tis index 6cdd496e0..22dc17f3d 100644 --- a/src/ui/ab.tis +++ b/src/ui/ab.tis @@ -287,4 +287,4 @@ class MultipleSessions: Reactor.Component { } } -view.on("size", function() { if (app.multipleSessions) app.multipleSessions.onSize(); }); \ No newline at end of file +view.on("size", function() { if (app && app.multipleSessions) app.multipleSessions.onSize(); });