From 462c17a0c3200e1ea04396a7d46b77423cdd65e1 Mon Sep 17 00:00:00 2001 From: Tomas Agustin Raies Date: Tue, 5 May 2020 14:13:52 -0700 Subject: [PATCH] Close Settings Window on runner exit (#2695) --- src/runner/settings_window.cpp | 12 ++++++++++++ src/runner/settings_window.h | 1 + src/runner/tray_icon.cpp | 1 + 3 files changed, 14 insertions(+) diff --git a/src/runner/settings_window.cpp b/src/runner/settings_window.cpp index 06e6f0c1a2..e31e047eb9 100644 --- a/src/runner/settings_window.cpp +++ b/src/runner/settings_window.cpp @@ -390,3 +390,15 @@ void open_settings_window() std::thread(run_settings_window).detach(); } } + +void close_settings_window() +{ + if (g_settings_process_id != 0) + { + HANDLE proc = OpenProcess(PROCESS_TERMINATE, false, g_settings_process_id); + if (proc != INVALID_HANDLE_VALUE) + { + TerminateProcess(proc, 0); + } + } +} diff --git a/src/runner/settings_window.h b/src/runner/settings_window.h index 97bb613fa4..0f9048f16e 100644 --- a/src/runner/settings_window.h +++ b/src/runner/settings_window.h @@ -1,2 +1,3 @@ #pragma once void open_settings_window(); +void close_settings_window(); \ No newline at end of file diff --git a/src/runner/tray_icon.cpp b/src/runner/tray_icon.cpp index 04bf03322d..21fe702566 100644 --- a/src/runner/tray_icon.cpp +++ b/src/runner/tray_icon.cpp @@ -67,6 +67,7 @@ LRESULT __stdcall tray_icon_window_proc(HWND window, UINT message, WPARAM wparam Shell_NotifyIcon(NIM_DELETE, &tray_icon_data); tray_icon_created = false; } + close_settings_window(); PostQuitMessage(0); break; case WM_CLOSE: