summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-09-27 13:15:32 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-10-01 09:10:19 +1000
commit520b78b84180f81a53dc3646d3f4ef50cf7ed54e (patch)
tree056ae1bec420695e942a454b652cde46544d510e
parent73acaf6de6c0911d62709b28ac5b756f2a2e20a3 (diff)
Add parent window argument to ARDOUR_UI::check_audioengine
Ensures relevant placement of the dialog when presented
-rw-r--r--gtk2_ardour/ardour_ui.cc13
-rw-r--r--gtk2_ardour/ardour_ui.h2
-rw-r--r--gtk2_ardour/engine_dialog.cc2
3 files changed, 7 insertions, 10 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 2a4a8c530d..9ec13e4a7c 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -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;
}
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index 1c1ee78bfb..4f572157b1 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -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 ();
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index fe8a594193..654f63a8cd 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -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: