summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-08-10 21:44:29 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-08-11 09:24:52 +1000
commit495dd2e52ab6df1bbdde5a491703090e29268535 (patch)
tree89b3d4ff93e0983ac6343a691a83b071ca79ea97 /gtk2_ardour
parente20d74079a18c40c96a6c2eb06507419a8c7dddf (diff)
Compare the string returned by backend->driver_name() against driver names in EngineControl
Don't assume an empty string has any meaning and compare string returned with enumerated drivers
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/engine_dialog.cc17
1 files changed, 7 insertions, 10 deletions
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index 8ccb27d3d6..a222790450 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -915,27 +915,24 @@ EngineControl::set_driver_popdown_strings ()
boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
vector<string> drivers = backend->enumerate_drivers();
- if (drivers.empty()) {
+ if (drivers.empty ()) {
// This is an error...?
return false;
}
- string current_driver;
- current_driver = backend->driver_name ();
+ string current_driver = backend->driver_name ();
DEBUG_ECONTROL (string_compose ("backend->driver_name: %1", current_driver));
- // driver might not have been set yet
- if (current_driver == "") {
- current_driver = driver_combo.get_active_text ();
- if (current_driver == "")
- // driver has never been set, make sure it's not blank
- current_driver = drivers.front ();
+ if (std::find (drivers.begin (), drivers.end (), current_driver) ==
+ drivers.end ()) {
+
+ current_driver = drivers.front ();
}
set_popdown_strings (driver_combo, drivers);
DEBUG_ECONTROL (
- string_compose ("driver_combo.set_active_text: %1", current_driver));
+ string_compose ("driver_combo.set_active_text: %1", current_driver));
driver_combo.set_active_text (current_driver);
return true;
}