diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-04-11 09:46:45 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:40 -0400 |
commit | b042072df4fcf8fd036965d2c9f5d17c34e0d2c1 (patch) | |
tree | 0c80ad20ce236d3599fe8da6aebd48cf5c0c154d /libs/ardour/automation_control.cc | |
parent | b2b5c965c854d222f70080de5fcafb10b75ff40b (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.cc | 8 |
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; } |