drop reference to VCA from VCAMasterStrip immediately rather than waiting for idle
authorPaul Davis <paul@linuxaudiosystems.com>
Mon, 6 Jun 2016 23:22:33 +0000 (19:22 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 6 Jun 2016 23:35:48 +0000 (19:35 -0400)
gtk2_ardour/vca_master_strip.cc

index be6f862a7cfa78980e4bd4fd75f1a6e128b89af3..4c4d7398591fd022bdf7434bb847663d898a292c 100644 (file)
@@ -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);
 }