From d9fdf261d10adb5008d7881c736a887817815085 Mon Sep 17 00:00:00 2001 From: Tunglies <77394545+Tunglies@users.noreply.github.com> Date: Tue, 21 Oct 2025 22:59:59 +0800 Subject: [PATCH] fix: optimize process ID collection and remove unnecessary async handler in window destruction fix: remove unnecessary condition check in process name matching --- src-tauri/src/core/manager/process.rs | 10 ++++------ src-tauri/src/lib.rs | 7 ------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/src-tauri/src/core/manager/process.rs b/src-tauri/src/core/manager/process.rs index 70e056297..ccb32961d 100644 --- a/src-tauri/src/core/manager/process.rs +++ b/src-tauri/src/core/manager/process.rs @@ -83,7 +83,7 @@ impl CoreManager { let process_name_clone = process_name.clone(); let pids = AsyncHandler::spawn_blocking(move || -> Result> { - let mut pids = Vec::with_capacity(8); + let mut pids = Vec::new(); unsafe { let snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); @@ -102,11 +102,9 @@ impl CoreManager { .position(|&x| x == 0) .unwrap_or(pe32.szExeFile.len()); - if end_pos > 0 { - let exe_file = String::from_utf16_lossy(&pe32.szExeFile[..end_pos]); - if exe_file.eq_ignore_ascii_case(&process_name_clone) { - pids.push(pe32.th32ProcessID); - } + let exe_file = String::from_utf16_lossy(&pe32.szExeFile[..end_pos]); + if exe_file.eq_ignore_ascii_case(&process_name_clone) { + pids.push(pe32.th32ProcessID); } if Process32NextW(snapshot, &mut pe32) == 0 { diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 19d63a077..c6bbf9d85 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -339,13 +339,6 @@ pub fn run() { } pub fn handle_window_destroyed() { - AsyncHandler::spawn(|| async { - let _ = handle::Handle::mihomo() - .await - .clear_all_ws_connections() - .await; - }); - #[cfg(target_os = "macos")] { use crate::core::hotkey::SystemHotkey;