diff options
author | Robin Gareus <robin@gareus.org> | 2017-06-10 14:37:05 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-06-10 14:38:21 +0200 |
commit | f0d3121d6c03bf6fdc2d95e3795659d9790ebb24 (patch) | |
tree | 57e3105102a466136509377c9a64e03eece7c018 /libs/ardour/slavable_automation_control.cc | |
parent | d0307e10c9364882c868e2c1586e64d37996315b (diff) |
amend a1b4f9b8ab - handle disconnecting from all masters
Diffstat (limited to 'libs/ardour/slavable_automation_control.cc')
-rw-r--r-- | libs/ardour/slavable_automation_control.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/ardour/slavable_automation_control.cc b/libs/ardour/slavable_automation_control.cc index 5f24a8786f..c912d16370 100644 --- a/libs/ardour/slavable_automation_control.cc +++ b/libs/ardour/slavable_automation_control.cc @@ -328,12 +328,12 @@ SlavableAutomationControl::master_going_away (boost::weak_ptr<AutomationControl> void SlavableAutomationControl::remove_master (boost::shared_ptr<AutomationControl> m) { - masters_connections.erase (boost::weak_ptr<AutomationControl>(m)); pre_remove_master (m); { Glib::Threads::RWLock::WriterLock lm (master_lock); + masters_connections.erase (boost::weak_ptr<AutomationControl>(m)); if (!_masters.erase (m->id())) { return; } @@ -386,6 +386,7 @@ SlavableAutomationControl::clear_masters () had_masters = true; } _masters.clear (); + masters_connections.clear (); new_value = get_value_locked (); } |