From a5b06c5a41c24b8a2c3939f7245ab7a21f8c8daa Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 28 Mar 2016 21:45:44 +0200 Subject: [PATCH] fix gain automation copy/paste -- #6842 --- gtk2_ardour/selection.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/selection.cc b/gtk2_ardour/selection.cc index aa12e4fea8..d5fadb9cbb 100644 --- a/gtk2_ardour/selection.cc +++ b/gtk2_ardour/selection.cc @@ -620,10 +620,14 @@ Selection::add (boost::shared_ptr cl) warning << "Programming error: Selected list is not an ARDOUR::AutomationList" << endmsg; return; } - if (find (lines.begin(), lines.end(), al) == lines.end()) { - lines.push_back (al); - LinesChanged(); - } + + /* The original may change so we must store a copy (not a pointer) here. + * e.g AutomationLine rewrites the list with gain mapping. + * the downside is that we can't perfom duplicate checks. + * This code was changed in response to #6842 + */ + lines.push_back (boost::shared_ptr (new ARDOUR::AutomationList(*al))); + LinesChanged(); } void