diff options
-rw-r--r-- | gtk2_ardour/editor.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 693ff74623..f5aa512eab 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -4375,10 +4375,11 @@ Editor::undo_visual_state () return; } + redo_visual_stack.push_back (current_visual_state()); + VisualState* vs = undo_visual_stack.back(); undo_visual_stack.pop_back(); use_visual_state (*vs); - redo_visual_stack.push_back (vs); } void @@ -4388,10 +4389,11 @@ Editor::redo_visual_state () return; } + undo_visual_stack.push_back (current_visual_state()); + VisualState* vs = redo_visual_stack.back(); redo_visual_stack.pop_back(); use_visual_state (*vs); - undo_visual_stack.push_back (vs); } void @@ -4401,6 +4403,7 @@ Editor::swap_visual_state () redo_visual_state (); } else { undo_visual_state (); + undo_visual_stack.clear(); //swap_visual_state truncates the undo stack so we are just bouncing between 2 states } } |