From 61ebd89da03a218acfa7b01e16639e5dbeea1d78 Mon Sep 17 00:00:00 2001 From: "5684185+vsariola@users.noreply.github.com" <5684185+vsariola@users.noreply.github.com> Date: Sun, 8 Oct 2023 15:59:33 +0300 Subject: [PATCH] fix(tracker): set PrevUndoType to "" when undoing and redoing --- tracker/model.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tracker/model.go b/tracker/model.go index 1d037bc..222972e 100644 --- a/tracker/model.go +++ b/tracker/model.go @@ -985,6 +985,7 @@ func (m *Model) Undo() { m.setSongNoUndo(m.d.UndoStack[len(m.d.UndoStack)-1]) m.d.UndoStack = m.d.UndoStack[:len(m.d.UndoStack)-1] m.limitUndoRedoLengths() + m.d.PrevUndoType = "" } func (m *Model) CanUndo() bool { @@ -998,6 +999,7 @@ func (m *Model) ClearUndoHistory() { if len(m.d.RedoStack) > 0 { m.d.RedoStack = m.d.RedoStack[:0] } + m.d.PrevUndoType = "" } func (m *Model) Redo() { @@ -1008,6 +1010,7 @@ func (m *Model) Redo() { m.setSongNoUndo(m.d.RedoStack[len(m.d.RedoStack)-1]) m.d.RedoStack = m.d.RedoStack[:len(m.d.RedoStack)-1] m.limitUndoRedoLengths() + m.d.PrevUndoType = "" } func (m *Model) CanRedo() bool { @@ -1375,11 +1378,11 @@ func (m *Model) notifySamplesPerRowChange() { } func (m *Model) saveUndo(undoType string, undoSkipping int) { + m.d.ChangedSinceSave = true if m.d.PrevUndoType == undoType && m.d.UndoSkipCounter < undoSkipping { m.d.UndoSkipCounter++ return } - m.d.ChangedSinceSave = true m.d.PrevUndoType = undoType m.d.UndoSkipCounter = 0 m.d.UndoStack = append(m.d.UndoStack, m.d.Song.Copy())