[Libreoffice-commits] core.git: sw/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Sun Sep 26 11:29:52 UTC 2021
sw/source/core/layout/calcmove.cxx | 16 ++++++++--------
sw/source/core/layout/flowfrm.cxx | 22 +++++++++++-----------
sw/source/core/layout/hffrm.cxx | 12 ++++++------
sw/source/core/layout/tabfrm.cxx | 36 ++++++++++++++++++------------------
4 files changed, 43 insertions(+), 43 deletions(-)
New commits:
commit a7f5225f2900fcb21ed5565de1b606b3c3e1c81c
Author: Noel Grandin <noelgrandin at gmail.com>
AuthorDate: Sun Sep 26 08:37:20 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Sun Sep 26 13:29:18 2021 +0200
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 at collabora.co.uk>
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();
More information about the Libreoffice-commits
mailing list