From: Oleg Oshmyan Date: Tue, 1 Dec 2015 16:31:33 +0000 (+0200) Subject: coretext: don't fetch character set when it isn't needed X-Git-Tag: 0.13.1~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=04b87ca2e6770b1b11e8e5503b43065ac9043390;p=libass 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. --- 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;