From c50ca563b2130a7da3bc73af362ee901e4806c8b Mon Sep 17 00:00:00 2001 From: ChsBuffer <33744752+chsbuffer@users.noreply.github.com> Date: Fri, 15 Jan 2021 19:42:49 +0800 Subject: [PATCH] Improve Force Exit --- Netch/Forms/MainForm.cs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Netch/Forms/MainForm.cs b/Netch/Forms/MainForm.cs index a00fa3a9..a36d7a1c 100644 --- a/Netch/Forms/MainForm.cs +++ b/Netch/Forms/MainForm.cs @@ -1069,10 +1069,6 @@ namespace Netch.Forms ProfileGroupBox.Enabled = true; StartDisableItems(true); break; - case State.Terminating: - Dispose(); - Environment.Exit(Environment.ExitCode); - return; } } } @@ -1279,7 +1275,7 @@ namespace Netch.Forms Hide(); } - private void Exit(bool forceExit = false) + private async void Exit(bool forceExit = false) { if (!IsWaiting() && !Global.Settings.StopWhenExited && !forceExit) { @@ -1289,18 +1285,20 @@ namespace Netch.Forms return; } - Hide(); + State = State.Terminating; NotifyIcon.Visible = false; - if (!IsWaiting()) - ControlButton_Click(null, null); - + Hide(); Configuration.Save(); foreach (var file in new[] {"data\\last.json", "data\\privoxy.conf"}) if (File.Exists(file)) File.Delete(file); - State = State.Terminating; + if (!IsWaiting()) + await MainController.Stop(); + + Dispose(); + Environment.Exit(Environment.ExitCode); } private void OnCalled(object sender, OnlyInstance.Commands e)