From 734b8338bcfbed4762f231eaf66df76a0ceff96f Mon Sep 17 00:00:00 2001 From: adelikat Date: Sat, 27 Sep 2014 23:44:59 +0000 Subject: [PATCH] Fix always getting a "movie was written to disk" message when stopping a movie, will now only say so if it actually was saved to disk --- BizHawk.Client.Common/movie/MovieSession.cs | 4 ++-- BizHawk.Client.Common/movie/bk2/Bk2Movie.ModeApi.cs | 6 +++++- BizHawk.Client.Common/movie/bkm/BkmMovie.ModeApi.cs | 6 +++++- BizHawk.Client.Common/movie/interfaces/IMovie.cs | 3 ++- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/BizHawk.Client.Common/movie/MovieSession.cs b/BizHawk.Client.Common/movie/MovieSession.cs index 354dfbe751..707bae9f76 100644 --- a/BizHawk.Client.Common/movie/MovieSession.cs +++ b/BizHawk.Client.Common/movie/MovieSession.cs @@ -195,8 +195,8 @@ namespace BizHawk.Client.Common if (Movie.IsActive) { - Movie.Stop(saveChanges); - if (saveChanges) + var result = Movie.Stop(saveChanges); + if (result) { Output(Path.GetFileName(Movie.Filename) + " written to disk."); } diff --git a/BizHawk.Client.Common/movie/bk2/Bk2Movie.ModeApi.cs b/BizHawk.Client.Common/movie/bk2/Bk2Movie.ModeApi.cs index 7433b1a987..d67cc36e9e 100644 --- a/BizHawk.Client.Common/movie/bk2/Bk2Movie.ModeApi.cs +++ b/BizHawk.Client.Common/movie/bk2/Bk2Movie.ModeApi.cs @@ -55,18 +55,22 @@ namespace BizHawk.Client.Common Save(); } - public void Stop(bool saveChanges = true) + public bool Stop(bool saveChanges = true) { + bool saved = false; if (saveChanges) { if (_mode == Moviemode.Record || (IsActive && Changes)) { Save(); + saved = true; } } Changes = false; _mode = Moviemode.Inactive; + + return saved; } public void FinishedMode() diff --git a/BizHawk.Client.Common/movie/bkm/BkmMovie.ModeApi.cs b/BizHawk.Client.Common/movie/bkm/BkmMovie.ModeApi.cs index 66153ae861..18a9b0c976 100644 --- a/BizHawk.Client.Common/movie/bkm/BkmMovie.ModeApi.cs +++ b/BizHawk.Client.Common/movie/bkm/BkmMovie.ModeApi.cs @@ -77,18 +77,22 @@ namespace BizHawk.Client.Common Save(); } - public void Stop(bool saveChanges = true) + public bool Stop(bool saveChanges = true) { + bool saved = false; if (saveChanges) { if (_mode == Moviemode.Record || _changes) { Save(); + saved = true; } } _changes = false; _mode = Moviemode.Inactive; + + return saved; } public void FinishedMode() diff --git a/BizHawk.Client.Common/movie/interfaces/IMovie.cs b/BizHawk.Client.Common/movie/interfaces/IMovie.cs index 96211202ce..e4f393ef0c 100644 --- a/BizHawk.Client.Common/movie/interfaces/IMovie.cs +++ b/BizHawk.Client.Common/movie/interfaces/IMovie.cs @@ -145,7 +145,8 @@ namespace BizHawk.Client.Common /// The saveChanges flag will tell the movie to save its contents to disk /// /// if true, will save to disk - void Stop(bool saveChanges = true); + /// Whether or not the movie was saved + bool Stop(bool saveChanges = true); /// /// Switches to record mode