summaryrefslogtreecommitdiff
path: root/gtk2_ardour/vca_master_strip.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-06-06 19:22:33 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-06-06 19:35:48 -0400
commit56c831199ecb9a2ef3c37f5391a34bd98e93f533 (patch)
treed3444ce89c2a1d12acad2adfc359a0c3bfa6e68a /gtk2_ardour/vca_master_strip.cc
parentee1046bbed84f79c80433a2f011696813240e517 (diff)
drop reference to VCA from VCAMasterStrip immediately rather than waiting for idle
Diffstat (limited to 'gtk2_ardour/vca_master_strip.cc')
-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);
}