From 04b87ca2e6770b1b11e8e5503b43065ac9043390 Mon Sep 17 00:00:00 2001 From: Oleg Oshmyan Date: Tue, 1 Dec 2015 18:31:33 +0200 Subject: coretext: don't fetch character set when it isn't needed This avoids unnecessary work and fixes a memory leak: the character set wasn't released when code == 0. --- libass/ass_coretext.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libass/ass_coretext.c b/libass/ass_coretext.c index f480d3c..d749df0 100644 --- a/libass/ass_coretext.c +++ b/libass/ass_coretext.c @@ -71,6 +71,9 @@ static bool check_postscript(void *priv) static bool check_glyph(void *priv, uint32_t code) { + if (code == 0) + return true; + CTFontDescriptorRef fontd = priv; CFCharacterSetRef set = CTFontDescriptorCopyAttribute(fontd, kCTFontCharacterSetAttribute); @@ -78,9 +81,6 @@ static bool check_glyph(void *priv, uint32_t code) if (!set) return true; - if (code == 0) - return true; - bool result = CFCharacterSetIsLongCharacterMember(set, code); SAFE_CFRelease(set); return result; -- cgit v1.2.3