Fix regression from r50382, which triggered an assert when clicking "OK" in the GMM's options dialog.

The problem here is that our ConfigDialog uses "" as domain name,
this will result in the assert in common/config-manager.cpp:323
getting triggered, when using ConfMan.removeKey.

Since setting the domain to the game's domain does not seem save
according to the FIXME in gui/dialogs.cpp about this domain hackery,
I decided to adapt the OptionsDialog to only call ConfMan.removeKey
for "music_driver" etc., when the music driver widgets are present.
This is consistent with the over uses of removeKey in
OptionsDialog::close too.

svn-id: r50468
This commit is contained in:
Johannes Schickel 2010-06-28 23:41:43 +00:00
parent 15f9f37d4d
commit 23fa2296c3

View File

@ -364,14 +364,16 @@ void OptionsDialog::close() {
}
// Audio options
if (_enableAudioSettings) {
saveMusicDeviceSetting(_midiPopUp, "music_driver", musicDeviceSkipSettingDefault);
saveMusicDeviceSetting(_mt32DevicePopUp, "mt32_device", musicDeviceSkipSettingSpec);
saveMusicDeviceSetting(_gmDevicePopUp, "gm_device", musicDeviceSkipSettingSpec);
} else {
ConfMan.removeKey("music_driver", _domain);
ConfMan.removeKey("mt32_device", _domain);
ConfMan.removeKey("gm_device", _domain);
if (_midiPopUp) {
if (_enableAudioSettings) {
saveMusicDeviceSetting(_midiPopUp, "music_driver", musicDeviceSkipSettingDefault);
saveMusicDeviceSetting(_mt32DevicePopUp, "mt32_device", musicDeviceSkipSettingSpec);
saveMusicDeviceSetting(_gmDevicePopUp, "gm_device", musicDeviceSkipSettingSpec);
} else {
ConfMan.removeKey("music_driver", _domain);
ConfMan.removeKey("mt32_device", _domain);
ConfMan.removeKey("gm_device", _domain);
}
}
if (_oplPopUp) {