fix: refresh clash ui await patch

This commit is contained in:
GyDi 2022-09-24 14:01:28 +08:00
parent 6423a29600
commit 96e76665d6
No known key found for this signature in database
GPG Key ID: 58B15242BA8277A6
2 changed files with 9 additions and 7 deletions

View File

@ -43,7 +43,7 @@ impl Handle {
// update system tray state (clash config)
pub fn update_systray_clash(&self) -> Result<()> {
if self.app_handle.is_none() {
bail!("unhandle error");
bail!("update_systray_clash unhandle error");
}
let app_handle = self.app_handle.as_ref().unwrap();
@ -75,7 +75,7 @@ impl Handle {
/// update the system tray state (verge config)
pub fn update_systray(&self) -> Result<()> {
if self.app_handle.is_none() {
bail!("unhandle error");
bail!("update_systray unhandle error");
}
let app_handle = self.app_handle.as_ref().unwrap();

View File

@ -224,14 +224,16 @@ impl Core {
let mut mapping = Mapping::new();
mapping.insert(Value::from("mode"), Value::from(mode));
let handle = self.handle.clone();
tauri::async_runtime::spawn(async move {
log_if_err!(Service::patch_config(info, mapping.to_owned()).await);
});
// update tray
let handle = self.handle.lock();
let handle = handle.lock();
handle.refresh_clash();
handle.update_systray_clash()?;
log_if_err!(handle.update_systray_clash());
});
Ok(())
}