[MPlayer-cvslog] r22986 - trunk/libass/ass_render.c

eugeni subversion at mplayerhq.hu
Fri Apr 13 15:46:49 CEST 2007


Author: eugeni
Date: Fri Apr 13 15:46:49 2007
New Revision: 22986

Modified:
   trunk/libass/ass_render.c

Log:
Fix a stupid bug in r22473: bbox is zero-filled everytime when a glyph
is found in the cache. This leads to broken karaoke (some glyphs are not
highlighted at all), and, probably, slightly incorrect linebreaks.


Modified: trunk/libass/ass_render.c
==============================================================================
--- trunk/libass/ass_render.c	(original)
+++ trunk/libass/ass_render.c	Fri Apr 13 15:46:49 2007
@@ -1266,6 +1266,7 @@ static void get_glyph(int symbol, glyph_
 
 	info->outline_glyph = 0;
 	info->bm = info->bm_o = info->bm_s = 0;
+	info->bbox.xMin = info->bbox.xMax = info->bbox.yMin = info->bbox.yMax = 0;
 	info->advance.x = info->advance.y = 0;
 	
 	info->glyph = ass_font_get_glyph(frame_context.ass_priv->fontconfig_priv, render_context.font, symbol);
@@ -1733,11 +1734,6 @@ static int ass_render_event(ass_event_t*
 		// if it's an outline glyph, we still need to fill the bbox
 		if (text_info.glyphs[text_info.length].glyph) {
 			FT_Glyph_Get_CBox( text_info.glyphs[text_info.length].glyph, FT_GLYPH_BBOX_PIXELS, &(text_info.glyphs[text_info.length].bbox) );
-		} else {
-			text_info.glyphs[text_info.length].bbox.xMin = 0;
-			text_info.glyphs[text_info.length].bbox.yMin = 0;
-			text_info.glyphs[text_info.length].bbox.xMax = 0;
-			text_info.glyphs[text_info.length].bbox.yMax = 0;
 		}
 
 		previous = code;



More information about the MPlayer-cvslog mailing list