[Libreoffice-commits] core.git: vcl/generic
Mark Wielaard
mark at klomp.org
Mon May 20 11:55:10 PDT 2013
vcl/generic/fontmanager/fontconfig.cxx | 12 ++++++++++++
1 file changed, 12 insertions(+)
New commits:
commit d95456fc4cd10a09ac5d097ba1a06ae884f7f9f1
Author: Mark Wielaard <mark at klomp.org>
Date: Mon May 20 00:18:23 2013 +0200
Fix memory leak in mapToFontConfigLangTag.
FcGetLangs() will return a new FCStrSet that needs to be freed after usage.
Change-Id: Ie7fe0dd160fa59077d6a90878e70d0e034680812
Reviewed-on: https://gerrit.libreoffice.org/3967
Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
Tested-by: Fridrich Strba <fridrich at documentfoundation.org>
diff --git a/vcl/generic/fontmanager/fontconfig.cxx b/vcl/generic/fontmanager/fontconfig.cxx
index dc8dfa7..3e23fc9 100644
--- a/vcl/generic/fontmanager/fontconfig.cxx
+++ b/vcl/generic/fontmanager/fontconfig.cxx
@@ -811,11 +811,17 @@ namespace
sLangAttrib = OUStringToOString(rLangTag.getBcp47(), RTL_TEXTENCODING_UTF8).toAsciiLowerCase();
if (FcStrSetMember(pLangSet, (const FcChar8*)sLangAttrib.getStr()))
+ {
+ FcStrSetDestroy(pLangSet);
return sLangAttrib;
+ }
sLangAttrib = OUStringToOString(rLangTag.getLanguageAndScript(), RTL_TEXTENCODING_UTF8).toAsciiLowerCase();
if (FcStrSetMember(pLangSet, (const FcChar8*)sLangAttrib.getStr()))
+ {
+ FcStrSetDestroy(pLangSet);
return sLangAttrib;
+ }
OString sLang = OUStringToOString(rLangTag.getLanguage(), RTL_TEXTENCODING_UTF8).toAsciiLowerCase();
OString sRegion = OUStringToOString(rLangTag.getCountry(), RTL_TEXTENCODING_UTF8).toAsciiLowerCase();
@@ -824,11 +830,17 @@ namespace
{
sLangAttrib = sLang + OString('-') + sRegion;
if (FcStrSetMember(pLangSet, (const FcChar8*)sLangAttrib.getStr()))
+ {
+ FcStrSetDestroy(pLangSet);
return sLangAttrib;
+ }
}
if (FcStrSetMember(pLangSet, (const FcChar8*)sLang.getStr()))
+ {
+ FcStrSetDestroy(pLangSet);
return sLang;
+ }
return OString();
#else
More information about the Libreoffice-commits
mailing list