[Libreoffice-commits] core.git: filter/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Tue Jun 22 08:24:25 UTC 2021
filter/source/config/cache/filtercache.cxx | 24 +++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)
New commits:
commit c0643239a536ea2adc1876ef85591bb1b27abcef
Author: Noel Grandin <noel at peralex.com>
AuthorDate: Mon Jun 21 11:07:55 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Tue Jun 22 10:23:49 2021 +0200
no need to make copies of these map entries
Change-Id: Ie65cbacd2806a2c030b682f8cfd473676c4f95c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117605
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/filter/source/config/cache/filtercache.cxx b/filter/source/config/cache/filtercache.cxx
index c97d39f2319b..ca698f378b59 100644
--- a/filter/source/config/cache/filtercache.cxx
+++ b/filter/source/config/cache/filtercache.cxx
@@ -973,8 +973,8 @@ void FilterCache::impl_validateAndOptimize()
for (auto const& elem : m_lTypes)
{
- OUString sType = elem.first;
- CacheItem aType = elem.second;
+ const OUString & sType = elem.first;
+ const CacheItem & aType = elem.second;
// get its registration for file Extensions AND(!) URLPattern ...
// It doesn't matter if these items exists or if our
@@ -984,15 +984,21 @@ void FilterCache::impl_validateAndOptimize()
// from this cache!
css::uno::Sequence< OUString > lExtensions;
css::uno::Sequence< OUString > lURLPattern;
- aType[PROPNAME_EXTENSIONS] >>= lExtensions;
- aType[PROPNAME_URLPATTERN] >>= lURLPattern;
+ auto it = aType.find(PROPNAME_EXTENSIONS);
+ if (it != aType.end())
+ it->second >>= lExtensions;
+ it = aType.find(PROPNAME_URLPATTERN);
+ if (it != aType.end())
+ it->second >>= lURLPattern;
sal_Int32 ce = lExtensions.getLength();
sal_Int32 cu = lURLPattern.getLength();
#if OSL_DEBUG_LEVEL > 0
OUString sInternalTypeNameCheck;
- aType[PROPNAME_NAME] >>= sInternalTypeNameCheck;
+ it = aType.find(PROPNAME_NAME);
+ if (it != aType.end())
+ it->second >>= sInternalTypeNameCheck;
if (sInternalTypeNameCheck != sType)
{
sLog.append("Warning\t:\t" "The type \"" + sType + "\" does support the property \"Name\" correctly.\n");
@@ -1015,7 +1021,9 @@ void FilterCache::impl_validateAndOptimize()
// preferred type is usable in the same manner then every
// other type!
bool bPreferred = false;
- aType[PROPNAME_PREFERRED] >>= bPreferred;
+ it = aType.find(PROPNAME_PREFERRED);
+ if (it != aType.end())
+ it->second >>= bPreferred;
const OUString* pExtensions = lExtensions.getConstArray();
for (sal_Int32 e=0; e<ce; ++e)
@@ -1057,7 +1065,9 @@ void FilterCache::impl_validateAndOptimize()
continue;
OUString sPrefFilter;
- aType[PROPNAME_PREFERREDFILTER] >>= sPrefFilter;
+ it = aType.find(PROPNAME_PREFERREDFILTER);
+ if (it != aType.end())
+ it->second >>= sPrefFilter;
if (sPrefFilter.isEmpty())
{
// OK - there is no filter for this type. But that's not an error.
More information about the Libreoffice-commits
mailing list