diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2021-09-26 08:37:20 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-09-26 13:29:18 +0200 |
commit | a7f5225f2900fcb21ed5565de1b606b3c3e1c81c (patch) | |
tree | d8ded426d01475510eb25046706a346b9799011c /sw | |
parent | b9789f0c7eb29a4e9d1c02855714109f5d3fa407 (diff) |
no need to allocate these SwBorderAttrAccess on the heap
Change-Id: I9200ff5072babf11afe37ec0fe0d7401779be7c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122616
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/layout/calcmove.cxx | 16 | ||||
-rw-r--r-- | sw/source/core/layout/flowfrm.cxx | 22 | ||||
-rw-r--r-- | sw/source/core/layout/hffrm.cxx | 12 | ||||
-rw-r--r-- | sw/source/core/layout/tabfrm.cxx | 36 |
4 files changed, 43 insertions, 43 deletions
diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx index 31a9e2f80045..f8ab0e2e29fc 100644 --- a/sw/source/core/layout/calcmove.cxx +++ b/sw/source/core/layout/calcmove.cxx @@ -810,7 +810,7 @@ void SwPageFrame::MakeAll(vcl::RenderContext* pRenderContext) const SwRect aOldRect( getFrameArea() ); // Adjust root size const SwLayNotify aNotify( this ); // takes care of the notification in the dtor - std::unique_ptr<SwBorderAttrAccess> pAccess; + std::optional<SwBorderAttrAccess> oAccess; const SwBorderAttrs*pAttrs = nullptr; while ( !isFrameAreaPositionValid() || !isFrameAreaSizeValid() || !isFramePrintAreaValid() ) @@ -839,10 +839,10 @@ void SwPageFrame::MakeAll(vcl::RenderContext* pRenderContext) } else { - if (!pAccess) + if (!oAccess) { - pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), this); - pAttrs = pAccess->Get(); + oAccess.emplace(SwFrame::GetCache(), this); + pAttrs = oAccess->Get(); } assert(pAttrs); @@ -964,7 +964,7 @@ void SwLayoutFrame::MakeAll(vcl::RenderContext* /*pRenderContext*/) SwRectFn fnRect = ( IsNeighbourFrame() == bVert )? fnRectHori : ( IsVertLR() ? (IsVertLRBT() ? fnRectVertL2RB2T : fnRectVertL2R) : fnRectVert ); - std::unique_ptr<SwBorderAttrAccess> pAccess; + std::optional<SwBorderAttrAccess> oAccess; const SwBorderAttrs*pAttrs = nullptr; while ( !isFrameAreaPositionValid() || !isFrameAreaSizeValid() || !isFramePrintAreaValid() ) @@ -1030,10 +1030,10 @@ void SwLayoutFrame::MakeAll(vcl::RenderContext* /*pRenderContext*/) if ( !isFrameAreaSizeValid() || !isFramePrintAreaValid() ) { - if ( !pAccess ) + if ( !oAccess ) { - pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), this); - pAttrs = pAccess->Get(); + oAccess.emplace(SwFrame::GetCache(), this); + pAttrs = oAccess->Get(); } Format( getRootFrame()->GetCurrShell()->GetOut(), pAttrs ); } diff --git a/sw/source/core/layout/flowfrm.cxx b/sw/source/core/layout/flowfrm.cxx index 1ffbbeed764e..dd6872c1750f 100644 --- a/sw/source/core/layout/flowfrm.cxx +++ b/sw/source/core/layout/flowfrm.cxx @@ -1434,8 +1434,8 @@ static bool lcl_IdenticalStyles(const SwFrame* pPrevFrame, const SwFrame* pFrame static bool lcl_getContextualSpacing(const SwFrame* pPrevFrame) { bool bRet; - auto pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), pPrevFrame); - const SwBorderAttrs *pAttrs = pAccess->Get(); + SwBorderAttrAccess aAccess(SwFrame::GetCache(), pPrevFrame); + const SwBorderAttrs *pAttrs = aAccess.Get(); bRet = pAttrs->GetULSpace().GetContext(); @@ -1449,7 +1449,7 @@ SwTwips SwFlowFrame::CalcUpperSpace( const SwBorderAttrs *pAttrs, { const SwFrame* pPrevFrame = GetPrevFrameForUpperSpaceCalc_( pPr ); - std::unique_ptr<SwBorderAttrAccess> pAccess; + std::optional<SwBorderAttrAccess> oAccess; SwFrame* pOwn; if( !pAttrs ) { @@ -1464,8 +1464,8 @@ SwTwips SwFlowFrame::CalcUpperSpace( const SwBorderAttrs *pAttrs, } else pOwn = &m_rThis; - pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), pOwn); - pAttrs = pAccess->Get(); + oAccess.emplace(SwFrame::GetCache(), pOwn); + pAttrs = oAccess->Get(); } else { @@ -1744,11 +1744,11 @@ SwTwips SwFlowFrame::CalcLowerSpace( const SwBorderAttrs* _pAttrs ) const { SwTwips nLowerSpace = 0; - std::unique_ptr<SwBorderAttrAccess> pAttrAccess; + std::optional<SwBorderAttrAccess> oAttrAccess; if ( !_pAttrs ) { - pAttrAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), &m_rThis); - _pAttrs = pAttrAccess->Get(); + oAttrAccess.emplace(SwFrame::GetCache(), &m_rThis); + _pAttrs = oAttrAccess->Get(); } bool bCommonBorder = true; @@ -1810,11 +1810,11 @@ SwTwips SwFlowFrame::CalcAddLowerSpaceAsLastInTableCell( } } - std::unique_ptr<SwBorderAttrAccess> pAttrAccess; + std::optional<SwBorderAttrAccess> oAttrAccess; if (pFrame && (!_pAttrs || pFrame != &m_rThis)) { - pAttrAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), pFrame); - _pAttrs = pAttrAccess->Get(); + oAttrAccess.emplace(SwFrame::GetCache(), pFrame); + _pAttrs = oAttrAccess->Get(); } if (_pAttrs) diff --git a/sw/source/core/layout/hffrm.cxx b/sw/source/core/layout/hffrm.cxx index b29713b18841..2d971400743d 100644 --- a/sw/source/core/layout/hffrm.cxx +++ b/sw/source/core/layout/hffrm.cxx @@ -453,10 +453,10 @@ SwTwips SwHeadFootFrame::GrowFrame( SwTwips nDist, bool bTst, bool bInfo ) { nResult = 0; - auto pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), this); - OSL_ENSURE(pAccess, "no border attributes"); + std::optional<SwBorderAttrAccess> oAccess(std::in_place, SwFrame::GetCache(), this); + OSL_ENSURE(oAccess, "no border attributes"); - SwBorderAttrs * pAttrs = pAccess->Get(); + SwBorderAttrs * pAttrs = oAccess->Get(); /* First assume the whole amount to grow can be provided by eating spacing. */ @@ -582,10 +582,10 @@ SwTwips SwHeadFootFrame::ShrinkFrame( SwTwips nDist, bool bTst, bool bInfo ) bool bNotifyFlys = false; if (nRest > 0) { - auto pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), this); - OSL_ENSURE(pAccess, "no border attributes"); + std::optional<SwBorderAttrAccess> oAccess(std::in_place, SwFrame::GetCache(), this); + OSL_ENSURE(oAccess, "no border attributes"); - SwBorderAttrs * pAttrs = pAccess->Get(); + SwBorderAttrs * pAttrs = oAccess->Get(); /* minimal height of print area */ SwTwips nMinPrtHeight = nMinHeight diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx index 38d8c0e14305..fcb3d2c3bcfb 100644 --- a/sw/source/core/layout/tabfrm.cxx +++ b/sw/source/core/layout/tabfrm.cxx @@ -1922,8 +1922,8 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) const bool bFootnotesInDoc = !GetFormat()->GetDoc()->GetFootnoteIdxs().empty(); const bool bFly = IsInFly(); - auto pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), this); - const SwBorderAttrs *pAttrs = pAccess->Get(); + std::optional<SwBorderAttrAccess> oAccess(std::in_place, SwFrame::GetCache(), this); + const SwBorderAttrs *pAttrs = oAccess->Get(); // All rows should keep together const bool bDontSplit = !IsFollow() && @@ -2036,11 +2036,11 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) SwHTMLTableLayout *pLayout = GetTable()->GetHTMLTableLayout(); if( pLayout ) { - pAccess.reset(); + oAccess.reset(); m_bCalcLowers |= pLayout->Resize( pLayout->GetBrowseWidthByTabFrame( *this ) ); - pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), this); - pAttrs = pAccess->Get(); + oAccess.emplace(SwFrame::GetCache(), this); + pAttrs = oAccess->Get(); } setFramePrintAreaValid(false); @@ -2082,11 +2082,11 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) (aRectFnSet.GetWidth(getFramePrintArea()) != nOldPrtWidth || aRectFnSet.GetWidth(getFrameArea()) != nOldFrameWidth) ) { - pAccess.reset(); + oAccess.reset(); m_bCalcLowers |= pLayout->Resize( pLayout->GetBrowseWidthByTabFrame( *this ) ); - pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), this); - pAttrs = pAccess->Get(); + oAccess.emplace(SwFrame::GetCache(), this); + pAttrs = oAccess->Get(); } if ( aOldPrtPos != aRectFnSet.GetPos(getFramePrintArea()) ) aNotify.SetLowersComplete( false ); @@ -2131,12 +2131,12 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) GetTable()->GetHTMLTableLayout(); if( pHTMLLayout ) { - pAccess.reset(); + oAccess.reset(); m_bCalcLowers |= pHTMLLayout->Resize( pHTMLLayout->GetBrowseWidthByTabFrame( *this ) ); - pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), this); - pAttrs = pAccess->Get(); + oAccess.emplace(SwFrame::GetCache(), this); + pAttrs = oAccess->Get(); } setFramePrintAreaValid(false); @@ -2316,7 +2316,7 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) if ( bFormat ) { - pAccess.reset(); + oAccess.reset(); // Consider case that table is inside another table, because // it has to be avoided, that superior table is formatted. @@ -2324,8 +2324,8 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) // is found, get its first content. const SwFrame* pTmpNxt = sw_FormatNextContentForKeep( this ); - pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), this); - pAttrs = pAccess->Get(); + oAccess.emplace(SwFrame::GetCache(), this); + pAttrs = oAccess->Get(); // The last row wants to keep with the frame behind the table. // Check if the next frame is on a different page and valid. @@ -2568,12 +2568,12 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) { ++nStack; StackHack aHack; - pAccess.reset(); + oAccess.reset(); GetFollow()->MakeAll(pRenderContext); - pAccess = std::make_unique<SwBorderAttrAccess>(SwFrame::GetCache(), this); - pAttrs = pAccess->Get(); + oAccess.emplace(SwFrame::GetCache(), this); + pAttrs = oAccess->Get(); GetFollow()->SetLowersFormatted(false); // #i43913# - lock follow table @@ -2724,7 +2724,7 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) } m_bCalcLowers = m_bONECalcLowers = false; - pAccess.reset(); + oAccess.reset(); UnlockJoin(); if ( bMovedFwd || bMovedBwd || !bOldValidPos ) aNotify.SetInvaKeep(); |