disconnect AuxSend connection when deleting bus

fixes crash:
 - add bus
 - aux-send a signal to that bus
 - delete bus
 - add another bus
 - aux-send a signal to "another bus"
 - click "Aux Send" button on "another bus"
 - crash
This commit is contained in:
Robin Gareus 2013-07-30 15:12:32 +02:00 committed by Paul Davis
parent e92306459d
commit 401bbe24c3
2 changed files with 3 additions and 3 deletions

View File

@ -61,7 +61,7 @@ using namespace ARDOUR;
using namespace PBD;
uint32_t RouteUI::_max_invert_buttons = 3;
sigc::signal<void, boost::shared_ptr<Route> > RouteUI::BusSendDisplayChanged;
PBD::Signal1<void, boost::shared_ptr<Route> > RouteUI::BusSendDisplayChanged;
boost::weak_ptr<Route> RouteUI::_showing_sends_to;
RouteUI::RouteUI (ARDOUR::Session* sess)
@ -171,7 +171,7 @@ RouteUI::init ()
monitor_disk_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::monitor_disk_press));
monitor_disk_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::monitor_disk_release));
BusSendDisplayChanged.connect (sigc::mem_fun (*this, &RouteUI::bus_send_display_changed));
BusSendDisplayChanged.connect (*this, invalidator (*this), boost::bind(&RouteUI::bus_send_display_changed, this, _1), gui_context());
}
void

View File

@ -225,7 +225,7 @@ class RouteUI : public virtual AxisView
* by a click on the `Sends' button. The parameter is the route that the sends are
* to, or 0 if no route is now in this mode.
*/
static sigc::signal<void, boost::shared_ptr<ARDOUR::Route> > BusSendDisplayChanged;
static PBD::Signal1<void, boost::shared_ptr<ARDOUR::Route> > BusSendDisplayChanged;
protected:
PBD::ScopedConnectionList route_connections;