[Libreoffice-commits] core.git: Branch 'libreoffice-7-2' - 2 commits - sw/inc sw/source writerfilter/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Wed Jun 30 18:57:33 UTC 2021
sw/inc/unodraw.hxx | 1
sw/source/core/unocore/unodraw.cxx | 29 ++++++++++++-----------
writerfilter/source/dmapper/NumberingManager.cxx | 2 -
3 files changed, 18 insertions(+), 14 deletions(-)
New commits:
commit 2577db3d6b1e59e14441704dc408200d7ce3e256
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Tue Jun 29 11:28:53 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Jun 30 20:57:07 2021 +0200
tdf#135316 make regex object static const
so we only compile it once, shaves 1% off load time
Change-Id: I8e6e20205659582901ffb8d4496ce44906146204
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118157
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
(cherry picked from commit 5ba64bba76ca1d23191300d1b5080cc091d432de)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118174
diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx
index 62706d1a5614..764aace41808 100644
--- a/writerfilter/source/dmapper/NumberingManager.cxx
+++ b/writerfilter/source/dmapper/NumberingManager.cxx
@@ -687,7 +687,7 @@ void ListsManager::lcl_attribute( Id nName, Value& rVal )
// DOCX level-text contains levels definition in format "%1.%2.%3"
// we need to convert it to LO internal representation: "%1%.%2%.%3%"
- std::regex aTokenRegex("(%\\d)");
+ static const std::regex aTokenRegex("(%\\d)");
sLevelText = std::regex_replace(sLevelText, aTokenRegex, "$1%");
pCurrentLvl->SetBulletChar( OUString::fromUtf8(sLevelText) );
}
commit e2173d675b55b14081e9ae3d5b188cde65ad1fae
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Tue Jun 29 11:29:18 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Jun 30 20:56:56 2021 +0200
tdf#135316 cache propertysetinfo in SwXShape
shaves 3% off loaad time
Change-Id: I6541f94553d862787566672d91e2a87902835664
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118158
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
(cherry picked from commit 05992ce5d03aeb2db8d4fc7a68053ebd9a9aa511)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118175
diff --git a/sw/inc/unodraw.hxx b/sw/inc/unodraw.hxx
index e4e5f3a40272..f68e90fe4bbe 100644
--- a/sw/inc/unodraw.hxx
+++ b/sw/inc/unodraw.hxx
@@ -144,6 +144,7 @@ class SwXShape : public SwXShapeBaseClass, public SvtListener
const SfxItemPropertySet* m_pPropSet;
const SfxItemPropertyMapEntry* m_pPropertyMapEntries;
+ css::uno::Reference< css::beans::XPropertySetInfo > mxPropertySetInfo;
std::unique_ptr<SwShapeDescriptor_Impl> m_pImpl;
diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx
index 3348abee8fe1..8c5bf6c890bd 100644
--- a/sw/source/core/unocore/unodraw.cxx
+++ b/sw/source/core/unocore/unodraw.cxx
@@ -1016,23 +1016,26 @@ uno::Sequence< sal_Int8 > SwXShape::getImplementationId( )
uno::Reference< beans::XPropertySetInfo > SwXShape::getPropertySetInfo()
{
SolarMutexGuard aGuard;
- uno::Reference< beans::XPropertySetInfo > aRet;
- if(m_xShapeAgg.is())
+ if (!mxPropertySetInfo)
{
- const uno::Type& rPropSetType = cppu::UnoType<beans::XPropertySet>::get();
- uno::Any aPSet = m_xShapeAgg->queryAggregation( rPropSetType );
- if(auto xPrSet = o3tl::tryAccess<uno::Reference<beans::XPropertySet>>(
- aPSet))
+ uno::Reference< beans::XPropertySetInfo > aRet;
+ if(m_xShapeAgg.is())
{
- uno::Reference< beans::XPropertySetInfo > xInfo = (*xPrSet)->getPropertySetInfo();
- // Expand PropertySetInfo!
- const uno::Sequence<beans::Property> aPropSeq = xInfo->getProperties();
- aRet = new SfxExtItemPropertySetInfo( m_pPropertyMapEntries, aPropSeq );
+ const uno::Type& rPropSetType = cppu::UnoType<beans::XPropertySet>::get();
+ uno::Any aPSet = m_xShapeAgg->queryAggregation( rPropSetType );
+ if(auto xPrSet = o3tl::tryAccess<uno::Reference<beans::XPropertySet>>(
+ aPSet))
+ {
+ uno::Reference< beans::XPropertySetInfo > xInfo = (*xPrSet)->getPropertySetInfo();
+ // Expand PropertySetInfo!
+ const uno::Sequence<beans::Property> aPropSeq = xInfo->getProperties();
+ mxPropertySetInfo = new SfxExtItemPropertySetInfo( m_pPropertyMapEntries, aPropSeq );
+ }
}
+ if(!mxPropertySetInfo)
+ mxPropertySetInfo = m_pPropSet->getPropertySetInfo();
}
- if(!aRet.is())
- aRet = m_pPropSet->getPropertySetInfo();
- return aRet;
+ return mxPropertySetInfo;
}
void SwXShape::setPropertyValue(const OUString& rPropertyName, const uno::Any& aValue)
More information about the Libreoffice-commits
mailing list