]> granicus.if.org Git - libass/commitdiff
Bugfix: glyph and bitmap pointers could be left uninitialized after
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>
Mon, 29 Jan 2007 17:08:29 +0000 (17:08 +0000)
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>
Mon, 29 Jan 2007 17:08:29 +0000 (17:08 +0000)
get_glyph().
Based on a patch by Stanislav Maslovski (stanislav d maslovski a gmail d com).

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22063 b3059339-0415-0410-9bf9-f77b7e298cf2

libass/ass_render.c

index 6c8cd84825d3fed4824633f83768b9d621fc56ab..ddb3df702a9ce54b98f603267c1510a18655ab46 100644 (file)
@@ -1233,6 +1233,9 @@ static int get_glyph(int symbol, glyph_info_t* info, FT_Vector* advance)
        // not found, get a new outline glyph from face
 //     mp_msg(MSGT_ASS, MSGL_INFO, "miss, index = %d, symbol = %c, adv = (%d, %d)\n", index, symbol, advance->x, advance->y);
 
+       info->outline_glyph = 0;
+       info->bm = info->bm_o = info->bm_s = 0;
+       
        info->glyph = ass_font_get_glyph(frame_context.ass_priv->fontconfig_priv, render_context.font, symbol);
        if (!info->glyph)
                return 0;
@@ -1246,12 +1249,8 @@ static int get_glyph(int symbol, glyph_info_t* info, FT_Vector* advance)
                if (error) {
                        mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_FT_Glyph_Stroke_Error, error);
                }
-       } else {
-               info->outline_glyph = 0;
        }
 
-       info->bm = info->bm_o = info->bm_s = 0;
-
        return 0;
 }