diff --git a/src/features/empty_session.rs b/src/features/empty_session.rs index f4ed577..4e66cfd 100644 --- a/src/features/empty_session.rs +++ b/src/features/empty_session.rs @@ -58,7 +58,9 @@ pub fn activate(app: &mut App) { pub fn deactivate(app: &mut App) { unsafe { - let _ = NtResumeProcess(app.game_handle); - let _ = CloseHandle(app.game_handle); + if !app.game_handle.is_invalid() { + let _ = NtResumeProcess(app.game_handle); + let _ = CloseHandle(app.game_handle); + } } } diff --git a/src/gui.rs b/src/gui.rs index 479402c..395e07a 100644 --- a/src/gui.rs +++ b/src/gui.rs @@ -340,6 +340,8 @@ impl Drop for App { let mut config_file = File::create(config_path).unwrap(); let json = serde_json::to_string_pretty(&persistent_state).unwrap(); config_file.write_all(json.as_bytes()).unwrap(); + // + features::empty_session::deactivate(self); } }