Add parent window argument to ARDOUR_UI::check_audioengine

Ensures relevant placement of the dialog when presented
This commit is contained in:
Tim Mayberry
2015-09-27 13:15:32 +10:00
parent 73acaf6de6
commit 520b78b841
3 changed files with 7 additions and 10 deletions

View File

@@ -1662,10 +1662,10 @@ ARDOUR_UI::open_recent_session ()
}
bool
ARDOUR_UI::check_audioengine ()
ARDOUR_UI::check_audioengine (Gtk::Window& parent)
{
if (!AudioEngine::instance()->connected()) {
MessageDialog msg (string_compose (
MessageDialog msg (parent, string_compose (
_("%1 is not connected to any audio backend.\n"
"You cannot open or close sessions in this condition"),
PROGRAM_NAME));
@@ -1679,9 +1679,8 @@ ARDOUR_UI::check_audioengine ()
void
ARDOUR_UI::open_session ()
{
if (!check_audioengine()) {
if (!check_audioengine(*editor)) {
return;
}
/* ardour sessions are folders */
@@ -1690,8 +1689,6 @@ ARDOUR_UI::open_session ()
open_session_selector.add_button (Gtk::Stock::OPEN, Gtk::RESPONSE_ACCEPT);
open_session_selector.set_default_response(Gtk::RESPONSE_ACCEPT);
if (_session) {
string session_parent_dir = Glib::path_get_dirname(_session->path());
open_session_selector.set_current_folder(session_parent_dir);
@@ -2680,7 +2677,7 @@ ARDOUR_UI::save_template ()
ArdourPrompter prompter (true);
string name;
if (!check_audioengine()) {
if (!check_audioengine(*editor)) {
return;
}
@@ -3047,7 +3044,7 @@ ARDOUR_UI::get_session_parameters (bool quit_on_cancel, bool should_be_new, stri
void
ARDOUR_UI::close_session()
{
if (!check_audioengine()) {
if (!check_audioengine(*editor)) {
return;
}

View File

@@ -294,7 +294,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void show_ui_prefs ();
bool check_audioengine();
bool check_audioengine(Gtk::Window&);
void update_tearoff_visibility ();

View File

@@ -444,7 +444,7 @@ EngineControl::on_response (int response_id)
}
case RESPONSE_CANCEL:
if (ARDOUR_UI::instance() && ARDOUR_UI::instance()->session_loaded) {
ARDOUR_UI::instance()->check_audioengine ();
ARDOUR_UI::instance()->check_audioengine (*this);
}
// fall through
default: