diff options
-rw-r--r-- | gui/options.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gui/options.cpp b/gui/options.cpp index 62262bf782..b00886b40e 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -493,8 +493,18 @@ void OptionsDialog::setAudioSettingsState(bool enabled) { _midiPopUpDesc->setEnabled(enabled); _midiPopUp->setEnabled(enabled); - _oplPopUpDesc->setEnabled(enabled); - _oplPopUp->setEnabled(enabled); + + uint32 allFlags = MidiDriver::midiDriverFlags2GUIO(~0ul); + + if (_domain != Common::ConfigManager::kApplicationDomain && // global dialog + (_guioptions & allFlags) && // No flags are specified + !(_guioptions & Common::GUIO_MIDIADLIB)) { + _oplPopUpDesc->setEnabled(false); + _oplPopUp->setEnabled(false); + } else { + _oplPopUpDesc->setEnabled(enabled); + _oplPopUp->setEnabled(enabled); + } _outputRatePopUpDesc->setEnabled(enabled); _outputRatePopUp->setEnabled(enabled); } |