Replace wxFONTFAMILY_DEFAULT with wxFONTFAMILY_SWISS when comparing fonts.
Otherwise comparison always failed as no existing fonts had wxFONTFAMILY_DEFAULT as their family in all ports except wxOSX, which does keep wxFONTFAMILY_DEFAULT. Closes #15410. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -818,6 +818,17 @@ wxFont *wxFontList::FindOrCreateFont(int pointSize,
|
||||
const wxString& facename,
|
||||
wxFontEncoding encoding)
|
||||
{
|
||||
// In all ports but wxOSX, the effective family of a font created using
|
||||
// wxFONTFAMILY_DEFAULT is wxFONTFAMILY_SWISS so this is what we need to
|
||||
// use for comparison.
|
||||
//
|
||||
// In wxOSX the original wxFONTFAMILY_DEFAULT seems to be kept and it uses
|
||||
// a different font than wxFONTFAMILY_SWISS anyhow so we just preserve it.
|
||||
#ifndef __WXOSX__
|
||||
if ( family == wxFONTFAMILY_DEFAULT )
|
||||
family = wxFONTFAMILY_SWISS;
|
||||
#endif // !__WXOSX__
|
||||
|
||||
wxFont *font;
|
||||
wxList::compatibility_iterator node;
|
||||
for (node = list.GetFirst(); node; node = node->GetNext())
|
||||
@@ -829,18 +840,7 @@ wxFont *wxFontList::FindOrCreateFont(int pointSize,
|
||||
font->GetWeight () == weight &&
|
||||
font->GetUnderlined () == underline )
|
||||
{
|
||||
wxFontFamily fontFamily = (wxFontFamily)font->GetFamily();
|
||||
|
||||
#if defined(__WXGTK__)
|
||||
// under GTK the default family is wxSWISS, so looking for a font
|
||||
// with wxDEFAULT family should return a wxSWISS one instead of
|
||||
// creating a new one
|
||||
bool same = (fontFamily == family) ||
|
||||
(fontFamily == wxFONTFAMILY_SWISS && family == wxFONTFAMILY_DEFAULT);
|
||||
#else // !GTK
|
||||
// VZ: but why elsewhere do we require an exact match? mystery...
|
||||
bool same = fontFamily == family;
|
||||
#endif // GTK/!GTK
|
||||
bool same = font->GetFamily() == family;
|
||||
|
||||
// empty facename matches anything at all: this is bad because
|
||||
// depending on which fonts are already created, we might get back
|
||||
|
Reference in New Issue
Block a user