From 8cbe59cfa85718efabfc149b8ba52d4ad2fd5773 Mon Sep 17 00:00:00 2001 From: taotao54321 Date: Fri, 9 Mar 2012 21:20:02 +0000 Subject: [PATCH] Fixed the behavior related to closing LogWindow. If you close LogWindow manually, Config.ShowLogWindow becomes false. If you close the emulator window, Config.ShowLogWindow does not change. --- BizHawk.MultiClient/LogConsole.cs | 15 ++++++++++++++- BizHawk.MultiClient/LogWindow.cs | 8 +++++++- BizHawk.MultiClient/MainForm.cs | 6 +++++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/BizHawk.MultiClient/LogConsole.cs b/BizHawk.MultiClient/LogConsole.cs index 2ba2f630f6..f61845cc45 100644 --- a/BizHawk.MultiClient/LogConsole.cs +++ b/BizHawk.MultiClient/LogConsole.cs @@ -274,13 +274,26 @@ namespace BizHawk.MultiClient } else { - window.Close(); logStream.Close(); logStream = null; Log.HACK_LOG_STREAM = null; + window.Close(); window = null; } + } + public static void notifyLogWindowClosing() + { + Console.SetOut(TextWriter.Null); + ConsoleVisible = false; + if(logStream != null) logStream.Close(); + Log.HACK_LOG_STREAM = null; + } + + public static void SaveConfigSettings() + { + if (window != null && window.IsHandleCreated) + window.SaveConfigSettings(); } } } diff --git a/BizHawk.MultiClient/LogWindow.cs b/BizHawk.MultiClient/LogWindow.cs index f2853558f3..fd00c2e500 100644 --- a/BizHawk.MultiClient/LogWindow.cs +++ b/BizHawk.MultiClient/LogWindow.cs @@ -19,7 +19,13 @@ namespace BizHawk.MultiClient public LogWindow() { InitializeComponent(); - Closing += (o, e) => SaveConfigSettings(); + Closing += (o, e) => + { + Global.Config.ShowLogWindow = false; + Global.MainForm.notifyLogWindowClosing(); + LogConsole.notifyLogWindowClosing(); + SaveConfigSettings(); + }; } public void ShowReport(string title, string report) diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs index f236da2472..840f1597e4 100644 --- a/BizHawk.MultiClient/MainForm.cs +++ b/BizHawk.MultiClient/MainForm.cs @@ -2253,7 +2253,7 @@ namespace BizHawk.MultiClient CloseForm(TI83KeyPad1); CloseForm(TAStudio1); CloseForm(LuaConsole1); - if (Global.Config.ShowLogWindow) LogConsole.HideConsole(); + if (Global.Config.ShowLogWindow) LogConsole.SaveConfigSettings(); ConfigService.Save(PathManager.DefaultIniPath, Global.Config); } @@ -2728,5 +2728,9 @@ namespace BizHawk.MultiClient { Global.Config.SkipLagFrame ^= true; } + public void notifyLogWindowClosing() + { + displayLogWindowToolStripMenuItem.Checked = false; + } } }