if (!outline) {
ass_msg(render_priv->library, MSGL_WARN,
"Clip vector parsing failed. Skipping.");
- goto blend_vector_error;
+ return;
}
// We need to translate the clip according to screen borders
v.bm = clip_bm;
ass_cache_put(render_priv->cache.bitmap_cache, &key, &v);
}
-blend_vector_error:
- if (!clip_bm) goto blend_vector_exit;
+ if (!clip_bm) return;
// Iterate through bitmaps and blend/clip them
for (cur = head; cur; cur = cur->next) {
// Allocate new buffer and add to free list
nbuffer = malloc(as * ah + 0x1F);
- if (!nbuffer) goto blend_vector_exit;
+ if (!nbuffer) return;
free_list_add(render_priv, nbuffer);
nbuffer = (unsigned char*)(((uintptr_t)nbuffer + 0x1F) & ~0x1F);
uintptr_t alignment_offset = (w > 15) ? 15 : ((w > 7) ? 7 : 0);
unsigned ns = (w + alignment_offset) & ~alignment_offset;
nbuffer = malloc(ns * h + alignment_offset);
- if (!nbuffer) goto blend_vector_exit;
+ if (!nbuffer) return;
free_list_add(render_priv, nbuffer);
nbuffer = (unsigned char*)
(((uintptr_t)nbuffer + alignment_offset) & ~alignment_offset);
}
cur->bitmap = nbuffer;
}
-
-blend_vector_exit:
- ass_drawing_free(render_priv->state.clip_drawing);
- render_priv->state.clip_drawing = 0;
}
static inline int is_skip_symbol(uint32_t x)
{
free(render_priv->state.family);
ass_drawing_free(render_priv->state.drawing);
+ ass_drawing_free(render_priv->state.clip_drawing);
render_priv->state.family = NULL;
render_priv->state.drawing = NULL;
+ render_priv->state.clip_drawing = NULL;
}
/*