From b23861609ef96f9e8dbf1559323497a2e8373d6e Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 10 Jun 2010 22:56:46 +0000 Subject: [PATCH] Preserve region state as well as playlist state in undo of bounce range. Fixes #3234. git-svn-id: svn://localhost/ardour2/branches/3.0@7252 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor_ops.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 9b14bcdaaf..9206f1516b 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -3662,6 +3662,8 @@ Editor::bounce_range_selection (bool replace, bool enable_processing) InterThreadInfo itt; playlist->clear_history (); + playlist->clear_owned_history (); + boost::shared_ptr r = rtv->track()->bounce_range (start, start+cnt, itt, enable_processing); if (replace) { @@ -3671,7 +3673,13 @@ Editor::bounce_range_selection (bool replace, bool enable_processing) playlist->add_region (r, start); } - _session->add_command (new StatefulDiffCommand (playlist)); + vector cmds; + playlist->rdiff (cmds); + for (vector::iterator j = cmds.begin(); j != cmds.end(); ++j) { + _session->add_command (*j); + } + + _session->add_command (new StatefulDiffCommand (playlist)); } commit_reversible_command ();