summaryrefslogtreecommitdiff
path: root/vcl/generic/fontmanager/fontconfig.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/generic/fontmanager/fontconfig.cxx')
-rw-r--r--vcl/generic/fontmanager/fontconfig.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/vcl/generic/fontmanager/fontconfig.cxx b/vcl/generic/fontmanager/fontconfig.cxx
index dc8dfa7976e1..3e23fc9f21d5 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