diff --git a/ChangeLog b/ChangeLog index 0e599b9c5..6e11b2a93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2021-04-02 Ben Wagner + + [base] Complete `ft_glyphslot_clear`. + + * src/base/ftobjs.c (ft_glyphslot_clear): This function is intended + to reset all the values of a glyph slot. However, it was not + resetting the values of the advances and `glyph_index`. Reset the + advances and `glyph_index` to zero. + 2021-04-02 Ben Wagner [truetype] Prevent glyph program state from persisting. diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index 56e1360e0..bee301c42 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c @@ -539,6 +539,8 @@ ft_glyphslot_free_bitmap( slot ); /* clear all public fields in the glyph slot */ + slot->glyph_index = 0; + FT_ZERO( &slot->metrics ); FT_ZERO( &slot->outline ); @@ -559,6 +561,8 @@ slot->linearHoriAdvance = 0; slot->linearVertAdvance = 0; + slot->advance.x = 0; + slot->advance.y = 0; slot->lsb_delta = 0; slot->rsb_delta = 0; }