diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-19 15:15:36 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:44 -0400 |
commit | 6c61194710c2e5758dd377af577933ae62e1dbec (patch) | |
tree | 57a000cd5183996a24f31483a6d54b479d82d40e /libs/ardour/slavable.cc | |
parent | cc3f029c73ec5367f42b394a40b0d86bb9823a4f (diff) |
provide mechanism for "drop all slaves" for VCA master
Diffstat (limited to 'libs/ardour/slavable.cc')
-rw-r--r-- | libs/ardour/slavable.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/ardour/slavable.cc b/libs/ardour/slavable.cc index e3af33becf..b6921c55c1 100644 --- a/libs/ardour/slavable.cc +++ b/libs/ardour/slavable.cc @@ -115,10 +115,13 @@ Slavable::do_assign (VCAManager* manager) void Slavable::assign (boost::shared_ptr<VCA> v) { + assert (v); Glib::Threads::RWLock::WriterLock lm (master_lock); if (assign_controls (v) == 0) { _masters.insert (v->number()); } + + v->Drop.connect_same_thread (unassign_connections, boost::bind (&Slavable::unassign, this, v)); } void |