X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1bce253a23047c6153e130d02e776d3d34b05793..95316a3f245a4baf3046e97222660bed986153ed:/src/gtk/textmeasure.cpp diff --git a/src/gtk/textmeasure.cpp b/src/gtk/textmeasure.cpp index 2032a45df0..eafd06848d 100644 --- a/src/gtk/textmeasure.cpp +++ b/src/gtk/textmeasure.cpp @@ -40,8 +40,6 @@ void wxTextMeasure::Init() { - wxASSERT_MSG( m_font, wxT("wxTextMeasure needs a valid wxFont") ); - m_context = NULL; m_layout = NULL; @@ -87,7 +85,7 @@ void wxTextMeasure::BeginMeasuring() if ( m_layout ) { pango_layout_set_font_description(m_layout, - m_font->GetNativeFontInfo()->description); + GetFont().GetNativeFontInfo()->description); } } @@ -118,13 +116,16 @@ void wxTextMeasure::DoGetTextExtent(const wxString& string, { if ( !m_context ) { - *width = - *height = 0; + if ( width ) + *width = 0; + + if ( height ) + *height = 0; return; } // Set layout's text - const wxCharBuffer dataUTF8 = wxGTK_CONV_FONT(string, *m_font); + const wxCharBuffer dataUTF8 = wxGTK_CONV_FONT(string, GetFont()); if ( !dataUTF8 ) { // hardly ideal, but what else can we do if conversion failed? @@ -164,10 +165,13 @@ void wxTextMeasure::DoGetTextExtent(const wxString& string, bool wxTextMeasure::DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths, - double WXUNUSED(scaleX)) + double scaleX) { + if ( !m_layout ) + return wxTextMeasureBase::DoGetPartialTextExtents(text, widths, scaleX); + // Set layout's text - const wxCharBuffer dataUTF8 = wxGTK_CONV_FONT(text, *m_font); + const wxCharBuffer dataUTF8 = wxGTK_CONV_FONT(text, GetFont()); if ( !dataUTF8 ) { // hardly ideal, but what else can we do if conversion failed?