diff options
Diffstat (limited to 'gui/options.cpp')
-rw-r--r-- | gui/options.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gui/options.cpp b/gui/options.cpp index ad32bfd4e3..62262bf782 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -613,8 +613,13 @@ void OptionsDialog::addAudioControls(GuiObject *boss, const Common::String &pref // Populate it const MidiDriverDescription *md = MidiDriver::getAvailableMidiDrivers(); + uint32 allFlags = MidiDriver::midiDriverFlags2GUIO(~0ul); + while (md->name) { - _midiPopUp->appendEntry(_(md->description), md->id); + if (_domain == Common::ConfigManager::kApplicationDomain || // global dialog + !(_guioptions & allFlags) || // No flags are specified + _guioptions & (MidiDriver::midiDriverFlags2GUIO(md->flags))) // flag is present + _midiPopUp->appendEntry(_(md->description), md->id); md++; } |