summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/vca_master_strip.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/gtk2_ardour/vca_master_strip.cc b/gtk2_ardour/vca_master_strip.cc
index be6f862a7c..4c4d739859 100644
--- a/gtk2_ardour/vca_master_strip.cc
+++ b/gtk2_ardour/vca_master_strip.cc
@@ -187,6 +187,12 @@ VCAMasterStrip::~VCAMasterStrip ()
void
VCAMasterStrip::self_delete ()
{
+ if ((_session && !_session->deletion_in_progress()) && Mixer_UI::instance()->showing_vca_slaves_for (_vca)) {
+ /* cancel spill for this VCA */
+ Mixer_UI::instance()->show_vca_slaves (boost::shared_ptr<VCA>());
+ }
+ /* Drop reference immediately, delete self when idle */
+ _vca.reset ();
delete_when_idle (this);
}