GUI::OptionsDialog base class calls under MSVC6
|Reported by:||SF/jamieson630||Owned by:||fingolfin|
The attached patch works around MSVC6's difficulties with the notation of explicit base class function calls in cases where the namespace of the base class is different than that of the derived class. Specifically, the patch is meant to correct [erroneous] compile-time errors related to calls made by Scumm::OptionsDialog to base class GUI::OptionsDialog methods of the same name. The trouble functions are open(), close() and handleCommand().
The patch creates "internal" versions of the necessary base class methods and puts the actual implementation there. The override functions just call the internal methods. In this way, the derived class can also call the base class implementation by using the internal methods, and thus avoid a name ambiguity.
This definitely muddies up the code a bit, and I'm not happy with that because we could find ourselves having to do in a variety of situations in the future, given our new namespace design. Any other ideas? Is this where we need to throw in the towel and abandon MSVC6 support entirely? :-)
Ticket imported from: #858731. Ticket imported from: patches/410.