From f0d3121d6c03bf6fdc2d95e3795659d9790ebb24 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 10 Jun 2017 14:37:05 +0200 Subject: amend a1b4f9b8ab - handle disconnecting from all masters --- libs/ardour/slavable_automation_control.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libs/ardour/slavable_automation_control.cc') 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 (); } -- cgit v1.2.3