X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fsend_ui.cc;h=90ff3de717637378aa6e3260020c05a7158aa2e1;hb=e11b3f90c2d02735a071d526d67cfd0de90cbac3;hp=c4656834a66919f2c67bf2e7cc7afa86e53d79e1;hpb=0c31e4c4f3d0bfe37d26a793c934f1b436f8fa0f;p=ardour.git diff --git a/gtk2_ardour/send_ui.cc b/gtk2_ardour/send_ui.cc index c4656834a6..90ff3de717 100644 --- a/gtk2_ardour/send_ui.cc +++ b/gtk2_ardour/send_ui.cc @@ -15,7 +15,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ #include @@ -33,8 +32,8 @@ using namespace PBD; SendUI::SendUI (boost::shared_ptr s, Session& se) : _send (s), _session (se), - gpm (s, se), - panners (s, se) + gpm (s->io(), se), + panners (s->io(), se) { hbox.pack_start (gpm, true, true); set_name ("SendUIFrame"); @@ -45,7 +44,7 @@ SendUI::SendUI (boost::shared_ptr s, Session& se) vbox.pack_start (hbox, false, false, false); vbox.pack_start (panners, false,false); - io = new IOSelector (se, s, false); + io = manage (new IOSelector (se, s->io(), false)); pack_start (vbox, false, false); @@ -55,8 +54,8 @@ SendUI::SendUI (boost::shared_ptr s, Session& se) _send->set_metering (true); - _send->output_changed.connect (mem_fun (*this, &SendUI::ins_changed)); - _send->output_changed.connect (mem_fun (*this, &SendUI::outs_changed)); + _send->io()->input_changed.connect (mem_fun (*this, &SendUI::ins_changed)); + _send->io()->output_changed.connect (mem_fun (*this, &SendUI::outs_changed)); panners.set_width (Wide); panners.setup_pan (); @@ -71,7 +70,7 @@ SendUI::SendUI (boost::shared_ptr s, Session& se) SendUI::~SendUI () { _send->set_metering (false); - + /* XXX not clear that we need to do this */ screen_update_connection.disconnect(); @@ -122,8 +121,8 @@ SendUIWindow::SendUIWindow (boost::shared_ptr s, Session& ss) add (vpacker); set_name ("SendUIWindow"); - - s->GoingAway.connect (mem_fun (*this, &SendUIWindow::send_going_away)); + + going_away_connection = s->GoingAway.connect (mem_fun (*this, &SendUIWindow::send_going_away)); signal_delete_event().connect (bind (ptr_fun (just_hide_it), reinterpret_cast (this))); @@ -139,5 +138,6 @@ SendUIWindow::send_going_away () { ENSURE_GUI_THREAD (mem_fun (*this, &SendUIWindow::send_going_away)); delete_when_idle (this); + going_away_connection.disconnect (); }