diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index d88babb..0b97e4d 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -28,12 +28,16 @@ pub fn run() { .on_window_event(|window, event| { // 2. Terminate sidecar khi DAW window dong — tranh orphan process if let tauri::WindowEvent::Destroyed = event { - let state = window.state::(); - if let Ok(mut lock) = state.0.lock() { - if let Some(child) = lock.take() { - let _ = child.kill(); - println!("daw_engine sidecar terminated."); - } + // Lay child ra khoi lock, guard drop ngay tai day (trach E0597) + let child = window + .state::() + .0 + .lock() + .ok() + .and_then(|mut lock| lock.take()); + if let Some(child) = child { + let _ = child.kill(); + println!("daw_engine sidecar terminated."); } } })