summaryrefslogtreecommitdiff
path: root/gtk2_ardour/engine_dialog.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-11-11 18:50:01 +0100
committerRobin Gareus <robin@gareus.org>2018-11-11 18:50:01 +0100
commit38301c808c2b60ac1b78f097f078964dfde84f7e (patch)
tree607b3ab7cfcd9537367140076df5bb04f597410d /gtk2_ardour/engine_dialog.cc
parent5396385b955accc3a236886ba323d6328e8f4cc2 (diff)
Fix sample-rate override when changing backends or devices
This indirectly honors session_loaded() and prevents that restoring engine-state can change the sample-rate dropdown when a session is loaded.
Diffstat (limited to 'gtk2_ardour/engine_dialog.cc')
-rw-r--r--gtk2_ardour/engine_dialog.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index 92a85a3a2a..f82f45bce7 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -1874,7 +1874,7 @@ EngineControl::maybe_display_saved_state ()
DEBUG_ECONTROL ("Restoring saved state");
PBD::Unwinder<uint32_t> protect_ignore_changes (ignore_changes, ignore_changes + 1);
- if (!_desired_sample_rate) {
+ if (0 == _desired_sample_rate && sample_rate_combo.get_sensitive ()) {
sample_rate_combo.set_active_text (rate_as_string (state->sample_rate));
}
set_active_text_if_present (buffer_size_combo, bufsize_as_string (state->buffer_size));
@@ -2199,7 +2199,7 @@ EngineControl::set_current_state (const State& state)
device_combo.set_active_text (state->device);
input_device_combo.set_active_text (state->input_device);
output_device_combo.set_active_text (state->output_device);
- if (!_desired_sample_rate) {
+ if (0 == _desired_sample_rate && sample_rate_combo.get_sensitive ()) {
sample_rate_combo.set_active_text (rate_as_string (state->sample_rate));
}
set_active_text_if_present (buffer_size_combo, bufsize_as_string (state->buffer_size));