From cbfbe65128277be74217753fe22081e4b96b5850 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 25 Jan 2020 10:27:12 -0700 Subject: disconnect from audio/MIDI setup dialog signal response when done with it --- gtk2_ardour/ardour_ui_session.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gtk2_ardour/ardour_ui_session.cc') diff --git a/gtk2_ardour/ardour_ui_session.cc b/gtk2_ardour/ardour_ui_session.cc index e39a88f6f4..60df179258 100644 --- a/gtk2_ardour/ardour_ui_session.cc +++ b/gtk2_ardour/ardour_ui_session.cc @@ -352,7 +352,6 @@ ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name, if (!AudioEngine::instance()->running()) { audio_midi_setup->set_position (WIN_POS_CENTER); audio_midi_setup->present (); - _engine_dialog_connection.disconnect (); _engine_dialog_connection = audio_midi_setup->signal_response().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::audio_midi_setup_reconfigure_done), path, snap_name, mix_template)); /* not done yet, but we're avoiding modal dialogs */ return 0; @@ -365,6 +364,8 @@ ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name, void ARDOUR_UI::audio_midi_setup_reconfigure_done (int response, std::string path, std::string snap_name, std::string mix_template) { + _engine_dialog_connection.disconnect (); + switch (response) { case Gtk::RESPONSE_DELETE_EVENT: break; @@ -562,7 +563,6 @@ ARDOUR_UI::build_session (const std::string& path, const std::string& snap_name, audio_midi_setup->set_position (WIN_POS_CENTER); audio_midi_setup->set_modal (); audio_midi_setup->present (); - _engine_dialog_connection.disconnect (); _engine_dialog_connection = audio_midi_setup->signal_response().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::audio_midi_setup_for_new_session_done), path, snap_name, session_template, bus_profile)); /* not done yet, but we're avoiding modal dialogs */ @@ -573,6 +573,8 @@ ARDOUR_UI::build_session (const std::string& path, const std::string& snap_name, void ARDOUR_UI::audio_midi_setup_for_new_session_done (int response, std::string path, std::string snap_name, std::string template_name, BusProfile const& bus_profile) { + _engine_dialog_connection.disconnect (); + switch (response) { case Gtk::RESPONSE_DELETE_EVENT: audio_midi_setup->set_modal (false); -- cgit v1.2.3