TMemoryDC reimplements the methods SelectObject, RestoreBitmap and RestoreObjects that are found in the base class TDC. These methods are not virtual, so the TMemoryDC definitions just hide the definitions in TDC.
The reimplementation of RestoreObjects first calls TDC::RestoreObjects, then RestoreBitmap. But RestoreBitmap is called within TDC::RestoreObjects as well, leading to RestoreBitmap being called twice (this should cause no harm, though). The same happens in the TMemoryDC destructor.
The TMemoryDC implementations of the rest of these methods are identical to those in TDC, so they serve no purpose.
I've replaced the attached files by a patch, and added a summary to the ticket.
PAILLER Fabien (iruka-kalite) wrote:
This issue was fixed in [r2671] and merged into 6.40 in [r2673].
Related
Commit: [r2671]
Commit: [r2673]