Changed notation involving more than one set of double colons ::

MSVC6 can't handle such notation, so simplification or
notation tricks must be employed to keep it happy.

svn-id: r11539
This commit is contained in:
Jamieson Christian 2003-12-09 08:55:32 +00:00
parent 7d8839ab52
commit 9e1cac4caa
2 changed files with 32 additions and 8 deletions

View File

@ -454,7 +454,12 @@ OptionsDialog::~OptionsDialog() {
}
void OptionsDialog::open() {
GUI::OptionsDialog::open();
// MSVC6 FIX (Jamieson630):
// Simple notation would be GUI::OptionsDialog::open(), but
// MSVC6 has a problem with any notation that involves
// more than one set of double colons ::
// Hence the more convoluted notation.
((GUI::OptionsDialog *) this)->open();
// update checkboxes, too
subtitlesCheckbox->setState(_scumm->_noSubtitles == false);
@ -466,7 +471,13 @@ void OptionsDialog::close() {
// Subtitles
ConfMan.set("nosubtitles", !subtitlesCheckbox->getState(), _domain);
}
GUI::OptionsDialog::close();
// MSVC6 FIX (Jamieson630):
// Simple notation would be GUI::OptionsDialog::close(), but
// MSVC6 has a problem with any notation that involves
// more than one set of double colons ::
// Hence the more convoluted notation.
((GUI::OptionsDialog *) this)->close();
// Sync the engine with the config manager
@ -497,7 +508,12 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data
#endif
break;
default:
GUI::OptionsDialog::handleCommand(sender, cmd, data);
// MSVC6 FIX (Jamieson630):
// Simple notation would be GUI::OptionsDialog::handleCommand(), but
// MSVC6 has a problem with any notation that involves
// more than one set of double colons ::
// Hence the more convoluted notation.
((GUI::OptionsDialog *) this)->handleCommand(sender, cmd, data);
}
}

View File

@ -544,12 +544,20 @@ void ScummEngine::saveOrLoad(Serializer *s, uint32 savegameVersion) {
MKEND()
};
// MSVC6 FIX (Jamieson630):
// MSVC6 has a problem with any notation that involves
// more than one set of double colons ::
// The following MKLINE macros expand to such things
// as AudioCDManager::Status::playing, and MSVC6 has
// a fit with that. This typedef simplifies the notation
// to something MSVC6 can grasp.
typedef AudioCDManager::Status AudioCDManager_Status;
const SaveLoadEntry audioCDEntries[] = {
MKLINE(AudioCDManager::Status, playing, sleUint32, VER(24)),
MKLINE(AudioCDManager::Status, track, sleInt32, VER(24)),
MKLINE(AudioCDManager::Status, start, sleUint32, VER(24)),
MKLINE(AudioCDManager::Status, duration, sleUint32, VER(24)),
MKLINE(AudioCDManager::Status, numLoops, sleInt32, VER(24)),
MKLINE(AudioCDManager_Status, playing, sleUint32, VER(24)),
MKLINE(AudioCDManager_Status, track, sleInt32, VER(24)),
MKLINE(AudioCDManager_Status, start, sleUint32, VER(24)),
MKLINE(AudioCDManager_Status, duration, sleUint32, VER(24)),
MKLINE(AudioCDManager_Status, numLoops, sleInt32, VER(24)),
MKEND()
};