git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27840
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
#ifndef __WXGTK20__
wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
#ifndef __WXGTK20__
- if ( M_FONTDATA->m_nativeFontInfo.GetXFontName().empty() )
+ if ( !M_FONTDATA->HasNativeFont() )
+ {
+ // NB: this call has important side-effect: it not only finds
+ // GdkFont representation, it also initializes m_nativeFontInfo
+ // by calling its SetXFontName method
#endif
return &(M_FONTDATA->m_nativeFontInfo);
#endif
return &(M_FONTDATA->m_nativeFontInfo);
if ( !font )
{
// do we have the XLFD?
if ( !font )
{
// do we have the XLFD?
- if ( M_FONTDATA->HasNativeFont() )
+ if ( int_scale == 100 && M_FONTDATA->HasNativeFont() )
{
font = wxLoadFont(M_FONTDATA->m_nativeFontInfo.GetXFontName());
}
{
font = wxLoadFont(M_FONTDATA->m_nativeFontInfo.GetXFontName());
}
M_FONTDATA->m_faceName,
M_FONTDATA->m_encoding,
&xfontname);
M_FONTDATA->m_faceName,
M_FONTDATA->m_encoding,
&xfontname);
+ // NB: wxFont::GetNativeFontInfo relies on this
+ // side-effect of GetInternalFont
+ if ( int_scale == 100 )
+ M_FONTDATA->m_nativeFontInfo.SetXFontName(xfontname);
wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
#ifndef __WXGTK20__
wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
#ifndef __WXGTK20__
- if ( M_FONTDATA->m_nativeFontInfo.GetXFontName().empty() )
+ if ( !M_FONTDATA->HasNativeFont() )
+ {
+ // NB: this call has important side-effect: it not only finds
+ // GdkFont representation, it also initializes m_nativeFontInfo
+ // by calling its SetXFontName method
#endif
return &(M_FONTDATA->m_nativeFontInfo);
#endif
return &(M_FONTDATA->m_nativeFontInfo);
if ( !font )
{
// do we have the XLFD?
if ( !font )
{
// do we have the XLFD?
- if ( M_FONTDATA->HasNativeFont() )
+ if ( int_scale == 100 && M_FONTDATA->HasNativeFont() )
{
font = wxLoadFont(M_FONTDATA->m_nativeFontInfo.GetXFontName());
}
{
font = wxLoadFont(M_FONTDATA->m_nativeFontInfo.GetXFontName());
}
M_FONTDATA->m_faceName,
M_FONTDATA->m_encoding,
&xfontname);
M_FONTDATA->m_faceName,
M_FONTDATA->m_encoding,
&xfontname);
+ // NB: wxFont::GetNativeFontInfo relies on this
+ // side-effect of GetInternalFont
+ if ( int_scale == 100 )
+ M_FONTDATA->m_nativeFontInfo.SetXFontName(xfontname);