Kaydet (Commit) 1704b120 authored tarafından Caolán McNamara's avatar Caolán McNamara

absoletely guarantee there is no mem leak

Change-Id: If6960dea479bb8970cb94aa05a3c9d44bf60cfc5
üst 6aa19bf0
...@@ -806,20 +806,18 @@ namespace ...@@ -806,20 +806,18 @@ namespace
OString mapToFontConfigLangTag(const LanguageTag &rLangTag) OString mapToFontConfigLangTag(const LanguageTag &rLangTag)
{ {
#if defined(FC_VERSION) && (FC_VERSION >= 20492) #if defined(FC_VERSION) && (FC_VERSION >= 20492)
FcStrSet *pLangSet = FcGetLangs(); boost::shared_ptr<FcStrSet> xLangSet(FcGetLangs(), FcStrSetDestroy);
OString sLangAttrib; OString sLangAttrib;
sLangAttrib = OUStringToOString(rLangTag.getBcp47(), RTL_TEXTENCODING_UTF8).toAsciiLowerCase(); sLangAttrib = OUStringToOString(rLangTag.getBcp47(), RTL_TEXTENCODING_UTF8).toAsciiLowerCase();
if (FcStrSetMember(pLangSet, (const FcChar8*)sLangAttrib.getStr())) if (FcStrSetMember(xLangSet.get(), (const FcChar8*)sLangAttrib.getStr()))
{ {
FcStrSetDestroy(pLangSet);
return sLangAttrib; return sLangAttrib;
} }
sLangAttrib = OUStringToOString(rLangTag.getLanguageAndScript(), RTL_TEXTENCODING_UTF8).toAsciiLowerCase(); sLangAttrib = OUStringToOString(rLangTag.getLanguageAndScript(), RTL_TEXTENCODING_UTF8).toAsciiLowerCase();
if (FcStrSetMember(pLangSet, (const FcChar8*)sLangAttrib.getStr())) if (FcStrSetMember(xLangSet.get(), (const FcChar8*)sLangAttrib.getStr()))
{ {
FcStrSetDestroy(pLangSet);
return sLangAttrib; return sLangAttrib;
} }
...@@ -829,16 +827,14 @@ namespace ...@@ -829,16 +827,14 @@ namespace
if (!sRegion.isEmpty()) if (!sRegion.isEmpty())
{ {
sLangAttrib = sLang + OString('-') + sRegion; sLangAttrib = sLang + OString('-') + sRegion;
if (FcStrSetMember(pLangSet, (const FcChar8*)sLangAttrib.getStr())) if (FcStrSetMember(xLangSet.get(), (const FcChar8*)sLangAttrib.getStr()))
{ {
FcStrSetDestroy(pLangSet);
return sLangAttrib; return sLangAttrib;
} }
} }
if (FcStrSetMember(pLangSet, (const FcChar8*)sLang.getStr())) if (FcStrSetMember(xLangSet.get(), (const FcChar8*)sLang.getStr()))
{ {
FcStrSetDestroy(pLangSet);
return sLang; return sLang;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment