Improve type safety by doing a runtime check to make sure the

wxFontMapper really is a wxFontMapper when GUI code asks for it.
Remove some incorrect comments and add some new ones.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33080 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Elliott
2005-03-26 21:47:54 +00:00
parent b1baed854d
commit 2a12cc65c8
3 changed files with 22 additions and 10 deletions

View File

@@ -163,14 +163,17 @@ wxFontMapper::~wxFontMapper()
{
}
bool wxFontMapper::IsWxFontMapper()
{ return true; }
/* static */
// Declared as returning wxFontMapper when wxUSE_GUI=1. Unfortunately, it's
// only implemented in wxBase library. Note that if the last resort
// is taken and GUI code tries to treat it as a real wxFontMapper
// then you'd be in trouble.
wxFontMapper *wxFontMapper::Get()
{
return (wxFontMapper*)wxFontMapperBase::Get();
wxFontMapperBase *fontmapper = wxFontMapperBase::Get();
wxASSERT_MSG(fontmapper->IsWxFontMapper(), wxT("GUI code requested a wxFontMapper but we only have a wxFontMapperBase."));
// Now return it anyway because there's a chance the GUI code might just
// only want to call wxFontMapperBase functions.
return (wxFontMapper*)fontmapper;
}
wxFontEncoding