From 44fc92c33d20537fb49cf2811028ea0c12383c32 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 30 Jul 2013 15:12:32 +0200 Subject: 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 --- gtk2_ardour/route_ui.cc | 4 ++-- gtk2_ardour/route_ui.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index bbc60ef425..6a114b0e5f 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -61,7 +61,7 @@ using namespace ARDOUR; using namespace PBD; uint32_t RouteUI::_max_invert_buttons = 3; -sigc::signal > RouteUI::BusSendDisplayChanged; +PBD::Signal1 > RouteUI::BusSendDisplayChanged; boost::weak_ptr 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 diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index 0501c78937..245101f616 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -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 > BusSendDisplayChanged; + static PBD::Signal1 > BusSendDisplayChanged; protected: PBD::ScopedConnectionList route_connections; -- cgit v1.2.3