[Libreoffice-commits] core.git: 2 commits - sw/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Tue Sep 28 16:26:09 UTC 2021
sw/source/core/text/atrhndl.hxx | 10 +++++-----
sw/source/core/text/atrstck.cxx | 16 ++++++----------
sw/source/core/text/inftxt.cxx | 20 ++++++++++----------
sw/source/core/text/inftxt.hxx | 2 +-
sw/source/core/text/txttab.cxx | 6 +++---
5 files changed, 25 insertions(+), 29 deletions(-)
New commits:
commit 8156a8f87996e353f8d36935e0497624245f1ad1
Author: Noel Grandin <noel at peralex.com>
AuthorDate: Tue Sep 28 15:01:45 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Tue Sep 28 18:25:48 2021 +0200
no need to allocate SwFont separately in SwAttrHandler
Change-Id: I08ef59f48b1f986854c6d194fb856b2da73c2ccd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122775
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/sw/source/core/text/atrhndl.hxx b/sw/source/core/text/atrhndl.hxx
index 8a3c438fd91d..92d0153eefc3 100644
--- a/sw/source/core/text/atrhndl.hxx
+++ b/sw/source/core/text/atrhndl.hxx
@@ -45,7 +45,7 @@ private:
// This is the base font for the paragraph. It is stored in order to have
// a template, if we have to restart the attribute evaluation
- std::unique_ptr<SwFont> m_pFnt;
+ std::optional<SwFont> m_oFnt;
bool m_bVertLayout;
bool m_bVertLayoutLRBT;
@@ -104,14 +104,14 @@ public:
inline void SwAttrHandler::ResetFont( SwFont& rFnt ) const
{
- OSL_ENSURE(m_pFnt, "ResetFont without a font");
- if (m_pFnt)
- rFnt = *m_pFnt;
+ OSL_ENSURE(m_oFnt, "ResetFont without a font");
+ if (m_oFnt)
+ rFnt = *m_oFnt;
};
inline const SwFont* SwAttrHandler::GetFont() const
{
- return m_pFnt.get();
+ return m_oFnt ? &*m_oFnt : nullptr;
};
diff --git a/sw/source/core/text/atrstck.cxx b/sw/source/core/text/atrstck.cxx
index 794390a63ede..79dc822361c6 100644
--- a/sw/source/core/text/atrstck.cxx
+++ b/sw/source/core/text/atrstck.cxx
@@ -322,14 +322,10 @@ void SwAttrHandler::Init( const SfxPoolItem** pPoolItem, const SwAttrSet* pAS,
// SwTextFrame::FormatOnceMore situation or (since sw_redlinehide)
// from SwAttrIter::Seek(); in the latter case SwTextSizeInfo::m_pFnt
// is an alias of m_pFnt so it must not be deleted!
- if (m_pFnt)
- {
- *m_pFnt = rFnt;
- }
+ if (m_oFnt)
+ *m_oFnt = rFnt;
else
- {
- m_pFnt.reset(new SwFont(rFnt));
- }
+ m_oFnt.emplace(rFnt);
}
void SwAttrHandler::Reset( )
@@ -826,11 +822,11 @@ void SwAttrHandler::FontChg(const SfxPoolItem& rItem, SwFont& rFnt, bool bPush )
void SwAttrHandler::GetDefaultAscentAndHeight( SwViewShell const * pShell, OutputDevice const & rOut,
sal_uInt16& nAscent, sal_uInt16& nHeight ) const
{
- OSL_ENSURE(m_pFnt, "No font available for GetDefaultAscentAndHeight");
+ OSL_ENSURE(m_oFnt, "No font available for GetDefaultAscentAndHeight");
- if (m_pFnt)
+ if (m_oFnt)
{
- SwFont aFont( *m_pFnt );
+ SwFont aFont( *m_oFnt );
nHeight = aFont.GetHeight( pShell, rOut );
nAscent = aFont.GetAscent( pShell, rOut );
}
commit 2d45cef3cd18c9d0198b9d302016a7598ce0484c
Author: Noel Grandin <noel at peralex.com>
AuthorDate: Tue Sep 28 14:55:22 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Tue Sep 28 18:25:33 2021 +0200
no need to allocate SvxTabStopItem separately in SwLineInfo
Change-Id: Ia2cbf997427a2450a576436d7c0159b7bbe34578
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122774
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx
index 26e7246a2a98..e3546c66db1a 100644
--- a/sw/source/core/text/inftxt.cxx
+++ b/sw/source/core/text/inftxt.cxx
@@ -99,7 +99,7 @@ SwLineInfo::~SwLineInfo()
void SwLineInfo::CtorInitLineInfo( const SwAttrSet& rAttrSet,
const SwTextNode& rTextNode )
{
- m_pRuler.reset( new SvxTabStopItem( rAttrSet.GetTabStops() ) );
+ m_oRuler.emplace( rAttrSet.GetTabStops() );
if ( rTextNode.GetListTabStopPosition( m_nListTabStopPosition ) )
{
m_bListTabStopIncluded = true;
@@ -107,15 +107,15 @@ void SwLineInfo::CtorInitLineInfo( const SwAttrSet& rAttrSet,
// insert the list tab stop into SvxTabItem instance <pRuler>
const SvxTabStop aListTabStop( m_nListTabStopPosition,
SvxTabAdjust::Left );
- m_pRuler->Insert( aListTabStop );
+ m_oRuler->Insert( aListTabStop );
// remove default tab stops, which are before the inserted list tab stop
- for ( sal_uInt16 i = 0; i < m_pRuler->Count(); i++ )
+ for ( sal_uInt16 i = 0; i < m_oRuler->Count(); i++ )
{
- if ( (*m_pRuler)[i].GetTabPos() < m_nListTabStopPosition &&
- (*m_pRuler)[i].GetAdjustment() == SvxTabAdjust::Default )
+ if ( (*m_oRuler)[i].GetTabPos() < m_nListTabStopPosition &&
+ (*m_oRuler)[i].GetAdjustment() == SvxTabAdjust::Default )
{
- m_pRuler->Remove(i);
+ m_oRuler->Remove(i);
continue;
}
}
@@ -124,12 +124,12 @@ void SwLineInfo::CtorInitLineInfo( const SwAttrSet& rAttrSet,
if ( !rTextNode.getIDocumentSettingAccess()->get(DocumentSettingId::TABS_RELATIVE_TO_INDENT) )
{
// remove default tab stop at position 0
- for ( sal_uInt16 i = 0; i < m_pRuler->Count(); i++ )
+ for ( sal_uInt16 i = 0; i < m_oRuler->Count(); i++ )
{
- if ( (*m_pRuler)[i].GetTabPos() == 0 &&
- (*m_pRuler)[i].GetAdjustment() == SvxTabAdjust::Default )
+ if ( (*m_oRuler)[i].GetTabPos() == 0 &&
+ (*m_oRuler)[i].GetAdjustment() == SvxTabAdjust::Default )
{
- m_pRuler->Remove(i);
+ m_oRuler->Remove(i);
break;
}
}
diff --git a/sw/source/core/text/inftxt.hxx b/sw/source/core/text/inftxt.hxx
index 91fbf0c3aa7c..9ee658364355 100644
--- a/sw/source/core/text/inftxt.hxx
+++ b/sw/source/core/text/inftxt.hxx
@@ -61,7 +61,7 @@ class SwLineInfo
{
friend class SwTextIter;
- std::unique_ptr<SvxTabStopItem> m_pRuler;
+ std::optional<SvxTabStopItem> m_oRuler;
const SvxLineSpacingItem *m_pSpace;
SvxParaVertAlignItem::Align m_nVertAlign;
sal_uInt16 m_nDefTabStop;
diff --git a/sw/source/core/text/txttab.cxx b/sw/source/core/text/txttab.cxx
index f4690a9aa496..fec16e962f0a 100644
--- a/sw/source/core/text/txttab.cxx
+++ b/sw/source/core/text/txttab.cxx
@@ -42,9 +42,9 @@
*/
const SvxTabStop* SwLineInfo::GetTabStop(const SwTwips nSearchPos, SwTwips& nRight) const
{
- for( sal_uInt16 i = 0; i < m_pRuler->Count(); ++i )
+ for( sal_uInt16 i = 0; i < m_oRuler->Count(); ++i )
{
- const SvxTabStop &rTabStop = m_pRuler->operator[](i);
+ const SvxTabStop &rTabStop = m_oRuler->operator[](i);
if (nRight && rTabStop.GetTabPos() > nRight)
{
// Consider the first tabstop to always be in-bounds.
@@ -64,7 +64,7 @@ const SvxTabStop* SwLineInfo::GetTabStop(const SwTwips nSearchPos, SwTwips& nRig
sal_uInt16 SwLineInfo::NumberOfTabStops() const
{
- return m_pRuler->Count();
+ return m_oRuler->Count();
}
SwTabPortion *SwTextFormatter::NewTabPortion( SwTextFormatInfo &rInf, bool bAuto ) const
More information about the Libreoffice-commits
mailing list