}
m_label << *pc;
}
+ InvalidateBestSize();
}
wxString wxControl::GetLabel() const
(* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(m_widget) )->size_request )
(m_widget, &req );
- return wxSize(req.width, req.height);
+ wxSize best(req.width, req.height);
+ CacheBestSize(best);
+ return best;
}
void wxControl::PostCreation(const wxSize& size)
{
wxWindow::PostCreation();
+
+ // NB: GetBestSize needs to know the style, otherwise it will assume
+ // default font and if the user uses a different font, determined
+ // best size will be different (typically, smaller) than the desired
+ // size. This call ensure that a style is available at the time
+ // GetBestSize is called.
+ gtk_widget_ensure_style(m_widget);
+
InheritAttributes();
ApplyWidgetStyle();
SetInitialBestSize(size);
if ( style && style->font_desc )
{
wxNativeFontInfo info;
- info.description = style->font_desc;
+ info.description = pango_font_description_copy(style->font_desc);
attr.font = wxFont(info);
}
else
return attr;
}
-
#endif // wxUSE_CONTROLS