summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolan.mcnamara@collabora.com>2024-01-26 09:44:38 +0000
committerMiklos Vajna <vmiklos@collabora.com>2024-01-30 10:45:35 +0100
commitc59adfea8314ae56f3d4d9d946807f405b975a72 (patch)
tree107c7556fce49cfb64c5f24900c1b6aa71991dc2
parent79da840fac78f11c156801c43d8b79d6d4f32869 (diff)
LanguageTag ctor can canonicalize against various known tags
so can optimize skipping the _lt_tag_canonicalize path which ends up using a fairly expensive xmlXPathEval Change-Id: Ie96f16482d247f3731c1c8eac6d613736b8b289a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162596 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit c225d602e093da9240693d7f67afb9da4806e0e9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162628 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r--editeng/source/misc/acorrcfg.cxx7
1 files changed, 3 insertions, 4 deletions
diff --git a/editeng/source/misc/acorrcfg.cxx b/editeng/source/misc/acorrcfg.cxx
index 53a43cff3f22..be4cc90e3680 100644
--- a/editeng/source/misc/acorrcfg.cxx
+++ b/editeng/source/misc/acorrcfg.cxx
@@ -65,13 +65,12 @@ static void scanAutoCorrectDirForLanguageTags( const OUString& rURL )
continue;
const OUString aBcp47( aTitle.copy( 5, aTitle.getLength() - 9));
- OUString aCanonicalized;
// Ignore invalid langtags and canonicalize for good,
// allow private-use tags.
- if (!LanguageTag::isValidBcp47( aBcp47, &aCanonicalized))
+ const LanguageTag aLanguageTag (aBcp47, true);
+ if (!aLanguageTag.isValidBcp47())
continue;
- const LanguageTag aLanguageTag( aCanonicalized);
if (SvtLanguageTable::HasLanguageType( aLanguageTag.getLanguageType()))
continue;
@@ -83,7 +82,7 @@ static void scanAutoCorrectDirForLanguageTags( const OUString& rURL )
// other private-use tag (which should not fallback,
// but avoid).
if (aLanguageTag.getCountry().isEmpty()
- && LanguageTag::isValidBcp47( aCanonicalized, nullptr,
+ && LanguageTag::isValidBcp47( aLanguageTag.getBcp47(), nullptr,
LanguageTag::PrivateUse::DISALLOW))
{
LanguageTag aFallback( aLanguageTag);