diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs index 12112b328d2..a571f6c27a6 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs @@ -757,6 +757,8 @@ public bool FrameEdited(int frame) { GreenzoneInvalidatedCallback?.Invoke(frame); // lua callback + if (_suspendEditLogic) return false; + // Recording multiple frames, or auto-extending the movie, while unpaused should count as a single undo action. if (CurrentTasMovie.LastEditWasRecording && !MainForm.EmulatorPaused) { diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs index ff76d9f5fa6..1b15aa26711 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs @@ -1178,6 +1178,7 @@ private void HandleRotationChanged(object sender, EventArgs e) TasView.AllColumns.ColumnsChanged(); } + private bool _suspendEditLogic; public void LoadBranch(TasBranch branch) { if (Settings.OldControlSchemeForBranches && !TasPlaybackBox.RecordingMode) @@ -1186,7 +1187,9 @@ public void LoadBranch(TasBranch branch) return; } + _suspendEditLogic = true; CurrentTasMovie.LoadBranch(branch); + _suspendEditLogic = false; LoadState(new(branch.Frame, new MemoryStream(branch.CoreData, false))); CurrentTasMovie.TasStateManager.Capture(Emulator.Frame, Emulator.AsStatable());