From 3588712174530462a7cae5b0df64e8a1309ae533 Mon Sep 17 00:00:00 2001 From: Len Ovens Date: Wed, 28 Aug 2019 13:22:24 -0700 Subject: [PATCH] properly remove foldback strip so it can be created again --- gtk2_ardour/mixer_ui.cc | 14 ++++++++++++++ gtk2_ardour/mixer_ui.h | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index f8a96fd78c..5a1690cacd 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -365,6 +365,7 @@ Mixer_UI::Mixer_UI () MixerStrip::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::remove_strip, this, _1), gui_context()); VCAMasterStrip::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::remove_master, this, _1), gui_context()); + FoldbackStrip::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::remove_foldback, this, _1), gui_context()); /* handle escape */ @@ -740,6 +741,19 @@ Mixer_UI::remove_strip (MixerStrip* strip) } } +void +Mixer_UI::remove_foldback (FoldbackStrip* strip) +{ + if (_session && _session->deletion_in_progress()) { + /* its all being taken care of */ + return; + } + if (foldback_strip) { + foldback_strip->destroy_(); + } + foldback_strip = 0; +} + void Mixer_UI::presentation_info_changed (PropertyChange const & what_changed) { diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h index a4dd28c533..16e6d35c3f 100644 --- a/gtk2_ardour/mixer_ui.h +++ b/gtk2_ardour/mixer_ui.h @@ -219,7 +219,7 @@ private: void add_routes (ARDOUR::RouteList&); void remove_strip (MixerStrip *); - + void remove_foldback (FoldbackStrip *); void add_masters (ARDOUR::VCAList&); void remove_master (VCAMasterStrip*); void new_masters_created ();