summaryrefslogtreecommitdiffstats
path: root/libass
diff options
context:
space:
mode:
authorDr.Smile <vabnick@gmail.com>2016-07-16 04:01:55 +0300
committerDr.Smile <vabnick@gmail.com>2016-07-16 04:01:55 +0300
commit8465a0c6c38301246695ad8e83baee57847f33db (patch)
tree1c4b78b57647a6dce2ab28ad5bbb771eedc7f51d /libass
parent669d06d814da42f7046689c97f578756d6cb6aa7 (diff)
downloadlibass-8465a0c6c38301246695ad8e83baee57847f33db.tar.bz2
libass-8465a0c6c38301246695ad8e83baee57847f33db.tar.xz
cache: fix ownership tracking issues of ASS_Font
Diffstat (limited to 'libass')
-rw-r--r--libass/ass_cache.c2
-rw-r--r--libass/ass_shaper.c1
2 files changed, 2 insertions, 1 deletions
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;
}