From 9f81c0309e8ee1fd7586839c06bbad0d49d58c68 Mon Sep 17 00:00:00 2001 From: "seer-by-sentry[bot]" <157164994+seer-by-sentry[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 02:23:59 +0000 Subject: [PATCH] Refactor: Improve app restart and quit logic --- src/Files.App/Utils/Taskbar/SystemTrayIcon.cs | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/Files.App/Utils/Taskbar/SystemTrayIcon.cs b/src/Files.App/Utils/Taskbar/SystemTrayIcon.cs index ecc590cf148f..d2bfbc462cdb 100644 --- a/src/Files.App/Utils/Taskbar/SystemTrayIcon.cs +++ b/src/Files.App/Utils/Taskbar/SystemTrayIcon.cs @@ -286,26 +286,24 @@ private void OnDocumentationClicked() private void OnRestartClicked() { + App.AppModel.ForceProcessTermination = true; + Program.Pool?.Release(); Microsoft.Windows.AppLifecycle.AppInstance.Restart(""); - - var pool = new Semaphore(0, 1, $"Files-{AppLifecycleHelper.AppEnvironment}-Instance", out var isNew); - if (!isNew) - pool.Release(); - - Environment.Exit(0); + App.Current.Exit(); } private void OnQuitClicked() { Hide(); - App.AppModel.ForceProcessTermination = true; - - var pool = new Semaphore(0, 1, $"Files-{AppLifecycleHelper.AppEnvironment}-Instance", out var isNew); - if (!isNew) - pool.Release(); + if (Program.Pool is not null) + { + Program.Pool.Release(); + } else + { App.Current.Exit(); + } } internal LRESULT WindowProc(HWND hWnd, uint uMsg, WPARAM wParam, LPARAM lParam)