vlc | branch: master | Francois Cartegnie <[email protected]> | Sun Jun 4 14:11:08 2017 +0200| [1c18925a7fd3bbbb8185ed30db40ff0b909626cb] | committer: Francois Cartegnie
text_renderer: freetype: don't fail the whole region on empty paragraph > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1c18925a7fd3bbbb8185ed30db40ff0b909626cb --- modules/text_renderer/freetype/text_layout.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/text_renderer/freetype/text_layout.c b/modules/text_renderer/freetype/text_layout.c index 15b8e93007..e24771a7e4 100644 --- a/modules/text_renderer/freetype/text_layout.c +++ b/modules/text_renderer/freetype/text_layout.c @@ -1329,7 +1329,7 @@ static int LayoutParagraph( filter_t *p_filter, paragraph_t *p_paragraph, FT_Pos i_total_width = 0; FT_Pos i_last_space_width = 0; int i_last_space = -1; - line_desc_t *p_first_line = 0; + line_desc_t *p_first_line = NULL; line_desc_t **pp_line = &p_first_line; for( int i = 0; i < p_paragraph->i_size; ++i ) @@ -1400,9 +1400,12 @@ static int LayoutParagraph( filter_t *p_filter, paragraph_t *p_paragraph, { if( i_line_start == i ) { - msg_Err( p_filter, - "LayoutParagraph(): Width of single glyph exceeds maximum" ); - goto error; + /* If wrapping, algorithm would not end shifting lines down. + * Not wrapping, that can't be rendered anymore. */ + msg_Dbg( p_filter, "LayoutParagraph(): First glyph width in line exceeds maximum, skipping" ); + for( ; i < p_paragraph->i_size; ++i ) + ReleaseGlyphBitMaps( &p_paragraph->p_glyph_bitmaps[ i ] ); + return VLC_SUCCESS; } int i_end_offset; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
