diff --git a/src-tauri/src/core/sysopt.rs b/src-tauri/src/core/sysopt.rs index 5eed1e57bea33b36d12eefdb0b9bf597ff92b9ee..ea7f401fadd61eeb22dedacba517fa8363809b0e 100644 --- a/src-tauri/src/core/sysopt.rs +++ b/src-tauri/src/core/sysopt.rs @@ -182,13 +182,22 @@ impl Sysopt { return Ok(()); } - // macosæ¯æ¬¡å¯åŠ¨éƒ½æ›´æ–°ç™»å½•é¡¹ï¼Œé¿å…é‡å¤è®¾ç½®ç™»å½•é¡¹ #[cfg(target_os = "macos")] - let _ = auto.disable(); + { + if enable && !auto.is_enabled().unwrap_or(false) { + // é¿å…é‡å¤è®¾ç½®ç™»å½•é¡¹ + let _ = auto.disable(); + auto.enable()?; + } else if !enable { + let _ = auto.disable(); + } + } + #[cfg(not(target_os = "macos"))] if enable { auto.enable()?; } + *self.auto_launch.lock() = Some(auto); Ok(())