wxSize wxStaticText::DoGetBestSize() const
{
wxClientDC dc(wx_const_cast(wxStaticText *, this));
- dc.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
+ wxFont font(GetFont());
+ if (!font.Ok())
+ font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
+
+ dc.SetFont(font);
wxCoord widthTextMax, heightTextTotal;
dc.GetMultiLineTextExtent(GetLabel(), &widthTextMax, &heightTextTotal);
widthTextMax += 2;
#endif // __WXWINCE__
- return wxSize(widthTextMax, heightTextTotal);
+ wxSize best(widthTextMax, heightTextTotal);
+ CacheBestSize(best);
+ return best;
}
void wxStaticText::DoSetSize(int x, int y, int w, int h, int sizeFlags)