From: Robin Gareus Date: Sat, 10 Jun 2017 12:37:05 +0000 (+0200) Subject: amend a1b4f9b8ab - handle disconnecting from all masters X-Git-Tag: 5.10~35 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=f0d3121d6c03bf6fdc2d95e3795659d9790ebb24;p=ardour.git amend a1b4f9b8ab - handle disconnecting from all masters --- 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 void SlavableAutomationControl::remove_master (boost::shared_ptr m) { - masters_connections.erase (boost::weak_ptr(m)); pre_remove_master (m); { Glib::Threads::RWLock::WriterLock lm (master_lock); + masters_connections.erase (boost::weak_ptr(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 (); }