guarding all text methods against unset font

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2008-08-02 06:31:46 +00:00
parent 49d9fc10e4
commit bc217fe9dc
3 changed files with 19 additions and 6 deletions

View File

@@ -1253,7 +1253,9 @@ void wxCairoContext::DrawIcon( const wxIcon &icon, wxDouble x, wxDouble y, wxDou
void wxCairoContext::DrawText( const wxString &str, wxDouble x, wxDouble y ) void wxCairoContext::DrawText( const wxString &str, wxDouble x, wxDouble y )
{ {
if ( m_font.IsNull() || str.empty()) wxCHECK_RET( !m_font.IsNull(), wxT("wxCairoContext::DrawText - no valid font set") );
if ( str.empty())
return; return;
((wxCairoFontData*)m_font.GetRefData())->Apply(this); ((wxCairoFontData*)m_font.GetRefData())->Apply(this);
@@ -1271,7 +1273,9 @@ void wxCairoContext::DrawText( const wxString &str, wxDouble x, wxDouble y )
void wxCairoContext::GetTextExtent( const wxString &str, wxDouble *width, wxDouble *height, void wxCairoContext::GetTextExtent( const wxString &str, wxDouble *width, wxDouble *height,
wxDouble *descent, wxDouble *externalLeading ) const wxDouble *descent, wxDouble *externalLeading ) const
{ {
if ( m_font.IsNull() || str.empty()) wxCHECK_RET( !m_font.IsNull(), wxT("wxCairoContext::GetTextExtent - no valid font set") );
if ( str.empty())
return; return;
((wxCairoFontData*)m_font.GetRefData())->Apply((wxCairoContext*)this); ((wxCairoFontData*)m_font.GetRefData())->Apply((wxCairoContext*)this);
@@ -1303,6 +1307,8 @@ void wxCairoContext::GetPartialTextExtents(const wxString& text, wxArrayDouble&
widths.Empty(); widths.Empty();
widths.Add(0, text.length()); widths.Add(0, text.length());
wxCHECK_RET( !m_font.IsNull(), wxT("wxCairoContext::GetPartialTextExtents - no valid font set") );
if (text.empty()) if (text.empty())
return; return;

View File

@@ -1758,8 +1758,7 @@ void wxMacCoreGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDoub
void wxMacCoreGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDouble y, wxDouble angle ) void wxMacCoreGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDouble y, wxDouble angle )
{ {
if ( m_font.IsNull() ) wxCHECK_RET( !m_font.IsNull(), wxT("wxMacCoreGraphicsContext::DrawText - no valid font set") );
return;
EnsureIsValid(); EnsureIsValid();
@@ -1873,7 +1872,7 @@ void wxMacCoreGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDoub
void wxMacCoreGraphicsContext::GetTextExtent( const wxString &str, wxDouble *width, wxDouble *height, void wxMacCoreGraphicsContext::GetTextExtent( const wxString &str, wxDouble *width, wxDouble *height,
wxDouble *descent, wxDouble *externalLeading ) const wxDouble *descent, wxDouble *externalLeading ) const
{ {
wxCHECK_RET( !m_font.IsNull(), wxT("wxDC(cg)::DoGetTextExtent - no valid font set") ); wxCHECK_RET( !m_font.IsNull(), wxT("wxMacCoreGraphicsContext::GetTextExtent - no valid font set") );
if ( width ) if ( width )
*width = 0; *width = 0;
@@ -1951,6 +1950,8 @@ void wxMacCoreGraphicsContext::GetPartialTextExtents(const wxString& text, wxArr
widths.Empty(); widths.Empty();
widths.Add(0, text.length()); widths.Add(0, text.length());
wxCHECK_RET( !m_font.IsNull(), wxT("wxMacCoreGraphicsContext::GetPartialTextExtents - no valid font set") );
if (text.empty()) if (text.empty())
return; return;

View File

@@ -1214,7 +1214,9 @@ void wxGDIPlusContext::DrawIcon( const wxIcon &icon, wxDouble x, wxDouble y, wxD
void wxGDIPlusContext::DrawText( const wxString &str, wxDouble x, wxDouble y ) void wxGDIPlusContext::DrawText( const wxString &str, wxDouble x, wxDouble y )
{ {
if ( m_font.IsNull() || str.IsEmpty()) wxCHECK_RET( !m_font.IsNull(), wxT("wxGDIPlusContext::DrawText - no valid font set") );
if ( str.IsEmpty())
return ; return ;
wxWCharBuffer s = str.wc_str( *wxConvUI ); wxWCharBuffer s = str.wc_str( *wxConvUI );
@@ -1225,6 +1227,8 @@ void wxGDIPlusContext::DrawText( const wxString &str, wxDouble x, wxDouble y )
void wxGDIPlusContext::GetTextExtent( const wxString &str, wxDouble *width, wxDouble *height, void wxGDIPlusContext::GetTextExtent( const wxString &str, wxDouble *width, wxDouble *height,
wxDouble *descent, wxDouble *externalLeading ) const wxDouble *descent, wxDouble *externalLeading ) const
{ {
wxCHECK_RET( !m_font.IsNull(), wxT("wxGDIPlusContext::GetTextExtent - no valid font set") );
wxWCharBuffer s = str.wc_str( *wxConvUI ); wxWCharBuffer s = str.wc_str( *wxConvUI );
FontFamily ffamily ; FontFamily ffamily ;
Font* f = ((wxGDIPlusFontData*)m_font.GetRefData())->GetGDIPlusFont(); Font* f = ((wxGDIPlusFontData*)m_font.GetRefData())->GetGDIPlusFont();
@@ -1270,6 +1274,8 @@ void wxGDIPlusContext::GetPartialTextExtents(const wxString& text, wxArrayDouble
widths.Empty(); widths.Empty();
widths.Add(0, text.length()); widths.Add(0, text.length());
wxCHECK_RET( !m_font.IsNull(), wxT("wxGDIPlusContext::GetPartialTextExtents - no valid font set") );
if (text.empty()) if (text.empty())
return; return;