[type42] Fix new memory leak.
We need to inverse inheritance of FT_GlyphSlot_Internal so that we have a chance to free the rendered bitmap from the parent slot. * src/type42/t42objs.c (T42_GlyphSlot_Init): Remove the internal parts of the child `ttslot' and replace it with the parent structure. (T42_GlyphSlot_Done): Updated accordingly.
This commit is contained in:
parent
db0f2c448e
commit
8336d53cff
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2021-06-12 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||
|
||||
[type42] Fix new memory leak.
|
||||
|
||||
We need to inverse inheritance of FT_GlyphSlot_Internal so that we
|
||||
have a chance to free the rendered bitmap from the parent slot.
|
||||
|
||||
* src/type42/t42objs.c (T42_GlyphSlot_Init): Remove the internal parts
|
||||
of the child `ttslot' and replace it with the parent structure.
|
||||
(T42_GlyphSlot_Done): Updated accordingly.
|
||||
|
||||
2021-06-12 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
[psaux] Fix another assertion.
|
||||
|
|
|
@ -600,9 +600,9 @@
|
|||
}
|
||||
|
||||
/* share the loader so that the autohinter can see it */
|
||||
FT_GlyphLoader_Done( t42slot->internal->loader );
|
||||
FT_FREE( t42slot->internal );
|
||||
t42slot->internal = slot->ttslot->internal;
|
||||
FT_GlyphLoader_Done( slot->ttslot->internal->loader );
|
||||
FT_FREE( slot->ttslot->internal );
|
||||
slot->ttslot->internal = t42slot->internal;
|
||||
|
||||
return error;
|
||||
}
|
||||
|
@ -614,8 +614,8 @@
|
|||
T42_GlyphSlot slot = (T42_GlyphSlot)t42slot;
|
||||
|
||||
|
||||
slot->ttslot->internal = NULL;
|
||||
FT_Done_GlyphSlot( slot->ttslot );
|
||||
t42slot->internal = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue