diff --git a/IPA.Loader/Utilities/CriticalSection.cs b/IPA.Loader/Utilities/CriticalSection.cs index d27bcce0..1a3835be 100644 --- a/IPA.Loader/Utilities/CriticalSection.cs +++ b/IPA.Loader/Utilities/CriticalSection.cs @@ -18,9 +18,18 @@ namespace IPA.Utilities { Logger.log.Debug("Configuring exit handlers"); + AppDomain.CurrentDomain.ProcessExit -= Reset; + AppDomain.CurrentDomain.ProcessExit += Reset; + ResetExitHandlers(); } + private static void Reset(object sender, EventArgs e) + { + Win32.SetConsoleCtrlHandler(registeredHandler, false); + WinHttp.SetPeekMessageHook(null); + } + #region Execute section private static readonly Win32.ConsoleCtrlDelegate registeredHandler = HandleExit;