diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/SMAPI/Framework/Logging/LogManager.cs | 14 | ||||
-rw-r--r-- | src/SMAPI/Framework/SCore.cs | 7 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/SMAPI/Framework/Logging/LogManager.cs b/src/SMAPI/Framework/Logging/LogManager.cs index 094dd749..d83a5c0b 100644 --- a/src/SMAPI/Framework/Logging/LogManager.cs +++ b/src/SMAPI/Framework/Logging/LogManager.cs @@ -138,15 +138,15 @@ namespace StardewModdingAPI.Framework.Logging Thread inputThread = new Thread(() => { while (true) - { + { // get input - string input = Console.ReadLine(); - if (string.IsNullOrWhiteSpace(input)) - continue; + string input = Console.ReadLine(); + if (string.IsNullOrWhiteSpace(input)) + continue; - // handle command - this.Monitor.LogUserInput(input); - handleInput(input); + // handle command + this.Monitor.LogUserInput(input); + handleInput(input); } }); inputThread.Start(); diff --git a/src/SMAPI/Framework/SCore.cs b/src/SMAPI/Framework/SCore.cs index e64c2801..e2a9463b 100644 --- a/src/SMAPI/Framework/SCore.cs +++ b/src/SMAPI/Framework/SCore.cs @@ -278,15 +278,16 @@ namespace StardewModdingAPI.Framework ); // add exit handler - new Thread(() => + this.CancellationToken.Token.Register(() => { - this.CancellationToken.Token.WaitHandle.WaitOne(); if (this.IsGameRunning) { + this.inputThread.Abort(); this.LogManager.WriteCrashLog(); this.Game.Exit(); } - }).Start(); + }); + // set window titles this.SetWindowTitles( |