summaryrefslogtreecommitdiff
path: root/libs/ardour/automation_control.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-04-11 09:46:45 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:40 -0400
commitb042072df4fcf8fd036965d2c9f5d17c34e0d2c1 (patch)
tree0c80ad20ce236d3599fe8da6aebd48cf5c0c154d /libs/ardour/automation_control.cc
parentb2b5c965c854d222f70080de5fcafb10b75ff40b (diff)
fix logic for removing an AutomationControl from a ControlGroup
Diffstat (limited to 'libs/ardour/automation_control.cc')
-rw-r--r--libs/ardour/automation_control.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/ardour/automation_control.cc b/libs/ardour/automation_control.cc
index 7efaa07f23..99e2f54165 100644
--- a/libs/ardour/automation_control.cc
+++ b/libs/ardour/automation_control.cc
@@ -268,9 +268,11 @@ AutomationControl::interface_to_internal (double val) const
void
AutomationControl::set_group (boost::shared_ptr<ControlGroup> cg)
{
- if (_group) {
- _group->remove_control (shared_from_this());
- }
+ /* this method can only be called by a ControlGroup. We do not need
+ to ensure consistency by calling ControlGroup::remove_control(),
+ since we are guaranteed that the ControlGroup will take care of that
+ for us.
+ */
_group = cg;
}