diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2015-09-26 20:22:46 +1000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2015-10-01 09:10:19 +1000 |
commit | 463bd470e86a37c747a44f2896c48c75b80e81ca (patch) | |
tree | 963a3fe28b8d0d36c9ec32b019c6b67d4f904245 /gtk2_ardour/ardour_ui.cc | |
parent | 2768ce9b051398e504604ca2663fa087bd3eab75 (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.cc | 22 |
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; + } } } |