Fix possible leaks

pull/1/head
Behdad Esfahbod 14 years ago
parent d3f3690b48
commit 0cd33592ab
  1. 16
      src/hb-font.cc

@ -286,8 +286,11 @@ hb_font_funcs_set_##name##_func (hb_font_funcs_t *ffuncs, \
void *user_data, \
hb_destroy_func_t destroy) \
{ \
if (ffuncs->immutable) \
if (ffuncs->immutable) { \
if (destroy) \
destroy (user_data); \
return; \
} \
\
if (ffuncs->destroy.name) \
ffuncs->destroy.name (ffuncs->user_data.name); \
@ -901,8 +904,11 @@ hb_font_set_funcs (hb_font_t *font,
void *user_data,
hb_destroy_func_t destroy)
{
if (font->immutable)
if (font->immutable) {
if (destroy)
destroy (user_data);
return;
}
if (font->destroy)
font->destroy (font->user_data);
@ -922,8 +928,12 @@ hb_font_set_funcs_data (hb_font_t *font,
void *user_data,
hb_destroy_func_t destroy)
{
if (font->immutable)
/* Destroy user_data? */
if (font->immutable) {
if (destroy)
destroy (user_data);
return;
}
if (font->destroy)
font->destroy (font->user_data);

Loading…
Cancel
Save