}
} else {
nperiods_combo.set_sensitive (false);
- if (backend->can_set_period_size()) {
- valid = false;
- }
}
if (_have_control) {
change_bufsize = true;
}
- if (backend->can_set_period_size() && get_nperiods() != backend->period_size()) {
+ if (backend->can_set_period_size() && get_popdown_string_count (nperiods_combo) > 0
+ && get_nperiods() != backend->period_size()) {
change_nperiods = true;
}
change_channels = true;
change_latency = true;
change_midi = true;
- change_nperiods = backend->can_set_period_size();
+ change_nperiods = backend->can_set_period_size() && get_popdown_string_count (nperiods_combo) > 0;
}
} else {