diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs index 6ac378d72b..abd85b3208 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs @@ -26,6 +26,7 @@ namespace BizHawk.Client.EmuHawk private bool _suppressContextMenu; private int _startRow; private int _paintingMinFrame = -1; + private bool _playbackInterrupted; // Occurs when the emulator is unpaused and the user click and holds mouse down to begin delivering input // Editing analog input private string _axisEditColumn = ""; @@ -615,7 +616,8 @@ namespace BizHawk.Client.EmuHawk } else if (TasView.CurrentCell.Column.Type != ColumnType.Text) // User changed input { - bool wasPaused = MainForm.EmulatorPaused; + _playbackInterrupted = !MainForm.EmulatorPaused; + MainForm.PauseEmulator(); if (ControllerType.BoolButtons.Contains(buttonName)) { @@ -718,12 +720,6 @@ namespace BizHawk.Client.EmuHawk RefreshDialog(); } } - - // taseditor behavior - if (!wasPaused) - { - MainForm.UnpauseEmulator(); - } } } else if (e.Button == MouseButtons.Right) diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs index ed02025a79..c88df44691 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs @@ -1009,6 +1009,11 @@ namespace BizHawk.Client.EmuHawk _triggerAutoRestore = false; _autoRestorePaused = null; } + + if (_playbackInterrupted) + { + MainForm.UnpauseEmulator(); + } } public void InsertNumFrames(int insertionFrame, int numberOfFrames)