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