Fix memory leak

This commit is contained in:
Chris Young 2015-08-16 13:02:14 +01:00
parent 9c2fbde917
commit f9bb4ba71d

View File

@ -640,14 +640,18 @@ static inline int32 ami_font_plot_glyph(struct OutlineFont *ofont, struct RastPo
#else
/* On OS3 the glyph needs to be in chip RAM */
void *chip_glyph = AllocVec(glyph->glm_BMModulo * glyph->glm_BMRows, MEMF_CHIP);
CopyMem(glyphbm, chip_glyph, glyph->glm_BMModulo * glyph->glm_BMRows);
if(chip_glyph != NULL) {
CopyMem(glyphbm, chip_glyph, glyph->glm_BMModulo * glyph->glm_BMRows);
BltTemplate(chip_glyph + (glyph->glm_BMModulo * glyph->glm_BlackTop) +
((glyph->glm_BlackLeft >> 4) << 1),
glyph->glm_BlackLeft & 0xF, glyph->glm_BMModulo, rp,
x - glyph->glm_X0 + glyph->glm_BlackLeft,
y - glyph->glm_Y0 + glyph->glm_BlackTop,
glyph->glm_BlackWidth, glyph->glm_BlackHeight);
BltTemplate(chip_glyph + (glyph->glm_BMModulo * glyph->glm_BlackTop) +
((glyph->glm_BlackLeft >> 4) << 1),
glyph->glm_BlackLeft & 0xF, glyph->glm_BMModulo, rp,
x - glyph->glm_X0 + glyph->glm_BlackLeft,
y - glyph->glm_Y0 + glyph->glm_BlackTop,
glyph->glm_BlackWidth, glyph->glm_BlackHeight);
FreeVec(chip_glyph);
}
#endif
}