From 8465a0c6c38301246695ad8e83baee57847f33db Mon Sep 17 00:00:00 2001 From: "Dr.Smile" Date: Sat, 16 Jul 2016 04:01:55 +0300 Subject: cache: fix ownership tracking issues of ASS_Font --- libass/ass_cache.c | 2 +- libass/ass_shaper.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'libass') diff --git a/libass/ass_cache.c b/libass/ass_cache.c index f24620b..148faa1 100644 --- a/libass/ass_cache.c +++ b/libass/ass_cache.c @@ -454,7 +454,7 @@ void ass_cache_inc_ref(void *value) if (!value) return; CacheItem *item = value_to_item(value); - assert(item->size); + assert(item->size && item->ref_count); item->ref_count++; } diff --git a/libass/ass_shaper.c b/libass/ass_shaper.c index 95222ae..2707b23 100644 --- a/libass/ass_shaper.c +++ b/libass/ass_shaper.c @@ -565,6 +565,7 @@ shape_harfbuzz_process_run(GlyphInfo *glyphs, hb_buffer_t *buf, int offset) info->next = malloc(sizeof(GlyphInfo)); if (info->next) { memcpy(info->next, info, sizeof(GlyphInfo)); + ass_cache_inc_ref(info->font); info = info->next; info->next = NULL; } -- cgit v1.2.3