deal with fonts with empty face name correctly in wxNativeFontInfo::FromString(): the last token may be empty, just check that it is present at all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -677,7 +677,7 @@ bool wxNativeFontInfo::FromString(const wxString& s)
|
|||||||
{
|
{
|
||||||
long l;
|
long l;
|
||||||
|
|
||||||
wxStringTokenizer tokenizer(s, wxS(";"));
|
wxStringTokenizer tokenizer(s, wxS(";"), wxTOKEN_RET_EMPTY_ALL);
|
||||||
|
|
||||||
// first the version
|
// first the version
|
||||||
wxString token = tokenizer.GetNextToken();
|
wxString token = tokenizer.GetNextToken();
|
||||||
@@ -749,10 +749,11 @@ bool wxNativeFontInfo::FromString(const wxString& s)
|
|||||||
return false;
|
return false;
|
||||||
lf.lfPitchAndFamily = (BYTE)l;
|
lf.lfPitchAndFamily = (BYTE)l;
|
||||||
|
|
||||||
token = tokenizer.GetNextToken();
|
if ( !tokenizer.HasMoreTokens() )
|
||||||
if(!token)
|
|
||||||
return false;
|
return false;
|
||||||
wxStrcpy(lf.lfFaceName, token.c_str());
|
|
||||||
|
// the face name may be empty
|
||||||
|
wxStrcpy(lf.lfFaceName, tokenizer.GetNextToken());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -776,7 +777,7 @@ wxString wxNativeFontInfo::ToString() const
|
|||||||
lf.lfClipPrecision,
|
lf.lfClipPrecision,
|
||||||
lf.lfQuality,
|
lf.lfQuality,
|
||||||
lf.lfPitchAndFamily,
|
lf.lfPitchAndFamily,
|
||||||
(const wxChar*)lf.lfFaceName);
|
lf.lfFaceName);
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user