sw/source/core/unocore/unosect.cxx |   22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

New commits:
commit 5b3bf3306797271c90df5a4a00463d327a65e96b
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Sun Sep 19 20:59:59 2021 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Mon Sep 20 10:01:42 2021 +0200

    no need to allocate these SfxItemSet on the heap
    
    Change-Id: I5a80d85225d1e5ba98a52885a79bed5bb873243d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122330
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/sw/source/core/unocore/unosect.cxx 
b/sw/source/core/unocore/unosect.cxx
index a93a90b7e097..52853bf6448d 100644
--- a/sw/source/core/unocore/unosect.cxx
+++ b/sw/source/core/unocore/unosect.cxx
@@ -531,7 +531,7 @@ lcl_UpdateLinkType(SwSection & rSection, bool const 
bLinkUpdateAlways)
 static void
 lcl_UpdateSection(SwSectionFormat *const pFormat,
     std::unique_ptr<SwSectionData> const& pSectionData,
-    std::unique_ptr<SfxItemSet> const& pItemSet,
+    std::optional<SfxItemSet> const& oItemSet,
     bool const bLinkModeChanged, bool const bLinkUpdateAlways = true)
 {
     if (!pFormat)
@@ -546,7 +546,7 @@ lcl_UpdateSection(SwSectionFormat *const pFormat,
         if (rFormats[i]->GetSection()->GetSectionName()
                 == rSection.GetSectionName())
         {
-            pDoc->UpdateSection(i, *pSectionData, pItemSet.get(),
+            pDoc->UpdateSection(i, *pSectionData, oItemSet ? &*oItemSet : 
nullptr,
                     pDoc->IsInReading());
             {
                 // temporarily remove actions to allow cursor update
@@ -583,7 +583,7 @@ void SwXTextSection::Impl::SetPropertyValues_Impl(
 
     OUString const*const pPropertyNames = rPropertyNames.getConstArray();
     uno::Any const*const pValues = rValues.getConstArray();
-    std::unique_ptr<SfxItemSet> pItemSet;
+    std::optional<SfxItemSet> oItemSet;
     bool bLinkModeChanged = false;
     bool bLinkMode = false;
 
@@ -829,10 +829,10 @@ void SwXTextSection::Impl::SetPropertyValues_Impl(
                 if (pFormat)
                 {
                     const SfxItemSet& rOldAttrSet = pFormat->GetAttrSet();
-                    pItemSet.reset( new SfxItemSet(*rOldAttrSet.GetPool(), 
pEntry->nWID, pEntry->nWID));
-                    pItemSet->Put(rOldAttrSet);
+                    oItemSet.emplace(*rOldAttrSet.GetPool(), pEntry->nWID, 
pEntry->nWID);
+                    oItemSet->Put(rOldAttrSet);
                     m_rPropSet.setPropertyValue(*pEntry,
-                            pValues[nProperty], *pItemSet);
+                            pValues[nProperty], *oItemSet);
                 }
                 else
                 {
@@ -918,7 +918,7 @@ void SwXTextSection::Impl::SetPropertyValues_Impl(
         }
     }
 
-    lcl_UpdateSection(pFormat, pSectionData, pItemSet, bLinkModeChanged,
+    lcl_UpdateSection(pFormat, pSectionData, oItemSet, bLinkModeChanged,
         bLinkMode);
 }
 
@@ -1469,7 +1469,7 @@ SwXTextSection::setPropertyToDefault(const OUString& 
rPropertyName)
     std::unique_ptr<SwSectionData> const pSectionData(
         pFormat ? new SwSectionData(*pFormat->GetSection()) : nullptr);
 
-    std::unique_ptr<SfxItemSet> pNewAttrSet;
+    std::optional<SfxItemSet> oNewAttrSet;
     bool bLinkModeChanged = false;
 
     switch (pEntry->nWID)
@@ -1561,8 +1561,8 @@ SwXTextSection::setPropertyToDefault(const OUString& 
rPropertyName)
                 if (pFormat)
                 {
                     const SfxItemSet& rOldAttrSet = pFormat->GetAttrSet();
-                    pNewAttrSet.reset( new SfxItemSet(*rOldAttrSet.GetPool(), 
pEntry->nWID, pEntry->nWID));
-                    pNewAttrSet->ClearItem(pEntry->nWID);
+                    oNewAttrSet.emplace(*rOldAttrSet.GetPool(), pEntry->nWID, 
pEntry->nWID);
+                    oNewAttrSet->ClearItem(pEntry->nWID);
                 }
                 else
                 {
@@ -1579,7 +1579,7 @@ SwXTextSection::setPropertyToDefault(const OUString& 
rPropertyName)
         }
     }
 
-    lcl_UpdateSection(pFormat, pSectionData, pNewAttrSet, bLinkModeChanged);
+    lcl_UpdateSection(pFormat, pSectionData, oNewAttrSet, bLinkModeChanged);
 }
 
 uno::Any SAL_CALL

Reply via email to