From 99bc15b5ed469b4c0965f6d1fa89658efd47ab2d Mon Sep 17 00:00:00 2001 From: futile Date: Tue, 8 Apr 2025 09:24:01 +0100 Subject: [PATCH] ensure game isn't suspended when we close --- src/features/empty_session.rs | 6 ++++-- src/gui.rs | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) 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); } }