diff options
author | Ben Loftis <ben@glw.com> | 2009-09-13 19:44:55 +0000 |
---|---|---|
committer | Ben Loftis <ben@glw.com> | 2009-09-13 19:44:55 +0000 |
commit | 5bf6193fe96d5c43aa10c4f7b5497424b692c749 (patch) | |
tree | e5e2948535261529c23e5956a1073a4bf138b9ee | |
parent | 81e962bbd47905ee2c3f2710e018315459a62854 (diff) |
fix logic in undo, redo, and swap_visual_state
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@5661 d708f5d6-7413-0410-9779-e7cbd77b26cf
-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 } } |