summaryrefslogtreecommitdiff
path: root/libs/ardour/solo_control.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-06-12 02:25:20 +0200
committerRobin Gareus <robin@gareus.org>2017-06-12 02:26:23 +0200
commit333e20a3a60cccbab57957b8266ea043bb7bfb8a (patch)
tree842ce7b1d91aadfec3595ac25d96f1890c9d1d66 /libs/ardour/solo_control.cc
parent3d2bbf93efe42412823722a17ae4da25db3b51f2 (diff)
VCA/SlavableAutomationCtrl re-design:
* remember master-ctrl value on assignment & save with session * Control/AutomationCtrl only stores ctrl's own value (w/o master) * virtual AutomationControl::get_value () -> use SlavableAC method * MasterRecord uses weak-ptr (fixes recursive ~Controllable() deadlock)
Diffstat (limited to 'libs/ardour/solo_control.cc')
-rw-r--r--libs/ardour/solo_control.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/ardour/solo_control.cc b/libs/ardour/solo_control.cc
index 0b07f88c6b..9d898493dc 100644
--- a/libs/ardour/solo_control.cc
+++ b/libs/ardour/solo_control.cc
@@ -259,8 +259,10 @@ SoloControl::get_state ()
}
void
-SoloControl::master_changed (bool /*from self*/, GroupControlDisposition, boost::shared_ptr<AutomationControl> m)
+SoloControl::master_changed (bool /*from self*/, GroupControlDisposition, boost::weak_ptr<AutomationControl> wm)
{
+ boost::shared_ptr<AutomationControl> m = wm.lock ();
+ assert (m);
bool send_signal = false;
_transition_into_solo = 0;