update driver selection sensitivity
authorRobin Gareus <robin@gareus.org>
Tue, 11 Aug 2015 20:04:28 +0000 (22:04 +0200)
committerRobin Gareus <robin@gareus.org>
Tue, 11 Aug 2015 20:04:28 +0000 (22:04 +0200)
gtk2_ardour/engine_dialog.cc

index 625b476acca5b6baf3c20e5bbe8cb6369b50b890..e8c8a323ea58df3034c9fd9943ae2482b949b64d 100644 (file)
@@ -800,12 +800,18 @@ EngineControl::update_sensitivity ()
                input_device_combo.set_sensitive (false);
                output_device_combo.set_sensitive (false);
                device_combo.set_sensitive (false);
+               driver_combo.set_sensitive (false);
                stop_engine_button.set_sensitive (true);
                stop_engine_button.show ();
        } else {
                input_device_combo.set_sensitive (true);
                output_device_combo.set_sensitive (true);
                device_combo.set_sensitive (true);
+               if (backend->requires_driver_selection() && get_popdown_string_count(driver_combo) > 0) {
+                       driver_combo.set_sensitive (true);
+               } else {
+                       driver_combo.set_sensitive (false);
+               }
                stop_engine_button.set_sensitive (false);
                stop_engine_button.hide ();
        }
@@ -936,12 +942,9 @@ EngineControl::backend_changed ()
 
        if (backend->requires_driver_selection()) {
                if (set_driver_popdown_strings ()) {
-                       driver_combo.set_sensitive (true);
                        driver_changed ();
                }
-
        } else {
-               driver_combo.set_sensitive (false);
                /* this will change the device text which will cause a call to
                 * device changed which will set up parameters
                 */