diff options
-rw-r--r-- | libs/ardour/ardour/vca_manager.h | 1 | ||||
-rw-r--r-- | libs/ardour/vca.cc | 3 | ||||
-rw-r--r-- | libs/ardour/vca_manager.cc | 5 |
3 files changed, 4 insertions, 5 deletions
diff --git a/libs/ardour/ardour/vca_manager.h b/libs/ardour/ardour/vca_manager.h index 5102d14698..c23c322fed 100644 --- a/libs/ardour/ardour/vca_manager.h +++ b/libs/ardour/ardour/vca_manager.h @@ -51,7 +51,6 @@ class VCAManager : public SessionHandleRef, public PBD::StatefulDestructible VCAList vcas() const; PBD::Signal1<void,VCAList&> VCAAdded; - PBD::Signal1<void,VCAList&> VCARemoved; XMLNode& get_state(); int set_state (XMLNode const&, int version); diff --git a/libs/ardour/vca.cc b/libs/ardour/vca.cc index 8227bf8749..3310c924cb 100644 --- a/libs/ardour/vca.cc +++ b/libs/ardour/vca.cc @@ -19,6 +19,7 @@ #include "pbd/convert.h" #include "ardour/automation_control.h" +#include "ardour/debug.h" #include "ardour/gain_control.h" #include "ardour/monitor_control.h" #include "ardour/rc_configuration.h" @@ -89,7 +90,7 @@ VCA::init () VCA::~VCA () { - DropReferences (); /* emit signal */ + DEBUG_TRACE (DEBUG::Destruction, string_compose ("delete VCA %1\n", number())); } uint32_t diff --git a/libs/ardour/vca_manager.cc b/libs/ardour/vca_manager.cc index e6143ea0b2..a6d9d2bc6f 100644 --- a/libs/ardour/vca_manager.cc +++ b/libs/ardour/vca_manager.cc @@ -103,10 +103,9 @@ VCAManager::remove_vca (boost::shared_ptr<VCA> vca) _vcas.remove (vca); } - VCAList vcal; - vcal.push_back (vca); + /* this should cause deassignment and deletion */ - VCARemoved (vcal); /* EMIT SIGNAL */ + vca->DropReferences (); } boost::shared_ptr<VCA> |