summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-09-26 20:22:46 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-10-01 09:10:19 +1000
commit463bd470e86a37c747a44f2896c48c75b80e81ca (patch)
tree963a3fe28b8d0d36c9ec32b019c6b67d4f904245 /gtk2_ardour/ardour_ui.cc
parent2768ce9b051398e504604ca2663fa087bd3eab75 (diff)
Don't hide Audio Setup dialog when clicking 'OK' if engine fails to start
This has to be handled in two places, in ARDOUR_UI::do_audio_midi_setup and in the dialogs response handler and in as the window can also be triggered via the window action manager.
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc22
1 files changed, 15 insertions, 7 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index ee356fb2a9..2a4a8c530d 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -4828,13 +4828,21 @@ ARDOUR_UI::do_audio_midi_setup (uint32_t desired_sample_rate)
audio_midi_setup->set_desired_sample_rate (desired_sample_rate);
audio_midi_setup->set_position (WIN_POS_CENTER);
- switch (audio_midi_setup->run()) {
- case Gtk::RESPONSE_OK:
- return 0;
- case Gtk::RESPONSE_APPLY:
- return 0;
- default:
- return -1;
+ int response;
+
+ while (true) {
+ response = audio_midi_setup->run();
+ switch (response) {
+ case Gtk::RESPONSE_OK:
+ if (!AudioEngine::instance()->running()) {
+ continue;
+ } else {
+ return 0;
+ }
+ return 0;
+ default:
+ return -1;
+ }
}
}