summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-30 15:12:32 +0200
committerRobin Gareus <robin@gareus.org>2013-07-30 15:12:32 +0200
commit44fc92c33d20537fb49cf2811028ea0c12383c32 (patch)
treea09ceb40fcfe01c7a50904c602a8cab4d9b6e396 /gtk2_ardour
parent4af022c7f627f1bef61a911ad8c1ce7204e53a47 (diff)
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
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/route_ui.cc4
-rw-r--r--gtk2_ardour/route_ui.h2
2 files changed, 3 insertions, 3 deletions
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<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
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<void, boost::shared_ptr<ARDOUR::Route> > BusSendDisplayChanged;
+ static PBD::Signal1<void, boost::shared_ptr<ARDOUR::Route> > BusSendDisplayChanged;
protected:
PBD::ScopedConnectionList route_connections;