sw/source/core/txtnode/ndtxt.cxx |   20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

New commits:
commit 02821cc81449b0807ab3478a2c91335c8471f481
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Fri Aug 12 09:33:10 2022 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Fri Aug 12 21:31:34 2022 +0200

    can store this SwAttrSet on the stack
    
    Change-Id: I9e091c0fbbf75b899962db9d71138dc306c4b90a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138175
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index bab4ace59de8..2433ef710fde 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -2941,29 +2941,29 @@ SwTextNode* SwTextNode::MakeNewTextNode( const 
SwNodeIndex& rPos, bool bNext,
                                        bool bChgFollow )
 {
     // ignore hard PageBreak/PageDesc/ColumnBreak from Auto-Set
-    std::unique_ptr<SwAttrSet> pNewAttrSet;
+    std::optional<SwAttrSet> oNewAttrSet;
     // #i75353#
     bool bClearHardSetNumRuleWhenFormatCollChanges( false );
     if( HasSwAttrSet() )
     {
-        pNewAttrSet.reset(new SwAttrSet( *GetpSwAttrSet() ));
+        oNewAttrSet.emplace( *GetpSwAttrSet() );
         const SfxItemSet* pTmpSet = GetpSwAttrSet();
 
         if (bNext)     // successor doesn't inherit breaks!
-            pTmpSet = pNewAttrSet.get();
+            pTmpSet = &*oNewAttrSet;
 
         // !bNext: remove PageBreaks/PageDesc/ColBreak from this
         bool bRemoveFromCache = false;
         std::vector<sal_uInt16> aClearWhichIds;
         if ( bNext )
-            bRemoveFromCache = ( 0 != pNewAttrSet->ClearItem( RES_PAGEDESC ) );
+            bRemoveFromCache = ( 0 != oNewAttrSet->ClearItem( RES_PAGEDESC ) );
         else
             aClearWhichIds.push_back( RES_PAGEDESC );
 
         if( SfxItemState::SET == pTmpSet->GetItemState( RES_BREAK, false ) )
         {
             if ( bNext )
-                pNewAttrSet->ClearItem( RES_BREAK );
+                oNewAttrSet->ClearItem( RES_BREAK );
             else
                 aClearWhichIds.push_back( RES_BREAK );
             bRemoveFromCache = true;
@@ -2971,7 +2971,7 @@ SwTextNode* SwTextNode::MakeNewTextNode( const 
SwNodeIndex& rPos, bool bNext,
         if( SfxItemState::SET == pTmpSet->GetItemState( RES_KEEP, false ) )
         {
             if ( bNext )
-                pNewAttrSet->ClearItem( RES_KEEP );
+                oNewAttrSet->ClearItem( RES_KEEP );
             else
                 aClearWhichIds.push_back( RES_KEEP );
             bRemoveFromCache = true;
@@ -2979,7 +2979,7 @@ SwTextNode* SwTextNode::MakeNewTextNode( const 
SwNodeIndex& rPos, bool bNext,
         if( SfxItemState::SET == pTmpSet->GetItemState( RES_PARATR_SPLIT, 
false ) )
         {
             if ( bNext )
-                pNewAttrSet->ClearItem( RES_PARATR_SPLIT );
+                oNewAttrSet->ClearItem( RES_PARATR_SPLIT );
             else
                 aClearWhichIds.push_back( RES_PARATR_SPLIT );
             bRemoveFromCache = true;
@@ -2991,7 +2991,7 @@ SwTextNode* SwTextNode::MakeNewTextNode( const 
SwNodeIndex& rPos, bool bNext,
             if (pRule && IsOutline())
             {
                 if ( bNext )
-                    pNewAttrSet->ClearItem(RES_PARATR_NUMRULE);
+                    oNewAttrSet->ClearItem(RES_PARATR_NUMRULE);
                 else
                 {
                     // #i75353#
@@ -3015,9 +3015,9 @@ SwTextNode* SwTextNode::MakeNewTextNode( const 
SwNodeIndex& rPos, bool bNext,
 
     SwTextFormatColl* pColl = GetTextColl();
 
-    SwTextNode *pNode = new SwTextNode( rPos, pColl, pNewAttrSet.get() );
+    SwTextNode *pNode = new SwTextNode( rPos, pColl, oNewAttrSet ? 
&*oNewAttrSet : nullptr );
 
-    pNewAttrSet.reset();
+    oNewAttrSet.reset();
 
     const SwNumRule* pRule = GetNumRule();
     if( pRule && pRule == pNode->GetNumRule() && rNds.IsDocNodes() )

Reply via email to