common/gal/stroke_font.cpp was segfaulting in wx 2.8 when drawing multi-line string.

This commit is contained in:
Dick Hollenbeck 2013-12-07 22:47:37 -06:00
parent e2b7ba4b19
commit 7d58d82656
1 changed files with 5 additions and 4 deletions

View File

@ -186,17 +186,18 @@ void STROKE_FONT::Draw( const wxString& aText, const VECTOR2D& aPosition, double
m_gal->SetLineWidth( m_gal->GetLineWidth() * BOLD_FACTOR );
// Split multiline strings into separate ones and draw them line by line
int begin = 0;
int newlinePos = aText.Find( '\n' );
size_t begin = 0;
size_t newlinePos = aText.find( '\n' );
while( newlinePos != wxNOT_FOUND )
while( newlinePos != aText.npos )
{
size_t length = newlinePos - begin;
drawSingleLineText( aText.Mid( begin, length ) );
m_gal->Translate( VECTOR2D( 0.0, lineHeight ) );
begin = newlinePos + 1;
newlinePos = aText.find( '\n', begin + 1 );
newlinePos = aText.find( '\n', begin );
}
// Draw the last (or the only one) line