From a6c87a72620f073b380c58097e050d2b7d4c9a6b Mon Sep 17 00:00:00 2001 From: adelikat Date: Tue, 19 Aug 2014 23:56:33 +0000 Subject: [PATCH] TAstudio - no stack overflow in some (or all) situations related to closing --- .../tools/TAStudio/TAStudio.IControlMainForm.cs | 3 ++- BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.IControlMainForm.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.IControlMainForm.cs index 5fd80709df..57e23c67c2 100644 --- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.IControlMainForm.cs +++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.IControlMainForm.cs @@ -8,7 +8,8 @@ GlobalWin.OSD.AddMessage("TAStudio does not allow manual readonly toggle"); } - public bool WantsToControlStopMovie { get { return true; } } + public bool WantsToControlStopMovie { get; private set; } + public void StopMovie() { this.Focus(); diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs index dcde0b09b2..86eaf74172 100644 --- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs +++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs @@ -72,6 +72,7 @@ namespace BizHawk.Client.EmuHawk public TAStudio() { InitializeComponent(); + WantsToControlStopMovie = true; TasPlaybackBox.Tastudio = this; MarkerControl.Tastudio = this; TasView.QueryItemText += TasView_QueryItemText; @@ -137,7 +138,9 @@ namespace BizHawk.Client.EmuHawk if (AskSaveChanges()) { NewTasMovie(); + WantsToControlStopMovie = false; GlobalWin.MainForm.StartNewMovie(_currentTasMovie, record: true); + WantsToControlStopMovie = true; RefreshDialog(); } } @@ -157,7 +160,9 @@ namespace BizHawk.Client.EmuHawk Global.Config.RecentTas.HandleLoadError(path); } + WantsToControlStopMovie = false; GlobalWin.MainForm.StartNewMovie(movie, record: false); + WantsToControlStopMovie = true; _currentTasMovie = Global.MovieSession.Movie as TasMovie; Global.Config.RecentTas.Add(path); RefreshDialog();