From d4f8140eef68950f1e227e0a9646dd776938a8f8 Mon Sep 17 00:00:00 2001 From: Souryo Date: Sun, 6 Aug 2017 17:53:18 -0400 Subject: [PATCH] Debugger: Prevent crash when closing trace logger while emulation is running --- GUI.NET/Debugger/frmTraceLogger.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/GUI.NET/Debugger/frmTraceLogger.cs b/GUI.NET/Debugger/frmTraceLogger.cs index 32a55b74..b87e7e0d 100644 --- a/GUI.NET/Debugger/frmTraceLogger.cs +++ b/GUI.NET/Debugger/frmTraceLogger.cs @@ -22,7 +22,7 @@ namespace Mesen.GUI.Debugger private EntityBinder _entityBinder = new EntityBinder(); private int _previousCycleCount; private string _previousTrace; - private bool _refreshRunning; + private volatile bool _refreshRunning; public frmTraceLogger() { @@ -61,6 +61,11 @@ namespace Mesen.GUI.Debugger protected override void OnFormClosing(FormClosingEventArgs e) { + tmrUpdateLog.Stop(); + while(_refreshRunning) { + System.Threading.Thread.Sleep(50); + } + base.OnFormClosing(e); DebugInfo debugInfo = ConfigManager.Config.DebugInfo; @@ -141,7 +146,7 @@ namespace Mesen.GUI.Debugger } return base.ProcessCmdKey(ref msg, keyData); } - + private void RefreshLog(bool scrollToBottom) { if(_refreshRunning) {