sw/source/core/edit/acorrect.cxx | 24 ++++++++++++------------ sw/source/core/inc/acorrect.hxx | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-)
New commits: commit 620b18d0dda96525d818698ea6ce84c9e27e9d7b Author: Noel Grandin <[email protected]> AuthorDate: Sun Aug 7 21:22:00 2022 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Tue Aug 9 13:34:50 2022 +0200 unique_ptr->optional in SwAutoCorrDoc Change-Id: I3280b588f365b73e08e17f14e2909b58e0fd85ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137998 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/sw/source/core/edit/acorrect.cxx b/sw/source/core/edit/acorrect.cxx index fe202c35f679..2adb75fa02e0 100644 --- a/sw/source/core/edit/acorrect.cxx +++ b/sw/source/core/edit/acorrect.cxx @@ -338,15 +338,15 @@ OUString const* SwAutoCorrDoc::GetPrevPara(bool const bAtNormalPos) { OUString const* pStr(nullptr); - if( bAtNormalPos || !m_pIndex ) + if( bAtNormalPos || !m_oIndex ) { - m_pIndex.reset(new SwNodeIndex(m_rCursor.GetPoint()->nNode)); + m_oIndex.emplace(m_rCursor.GetPoint()->nNode); } - sw::GotoPrevLayoutTextFrame(*m_pIndex, m_rEditSh.GetLayout()); + sw::GotoPrevLayoutTextFrame(*m_oIndex, m_rEditSh.GetLayout()); SwTextFrame const* pFrame(nullptr); - for (SwTextNode * pTextNd = m_pIndex->GetNode().GetTextNode(); - pTextNd; pTextNd = m_pIndex->GetNode().GetTextNode()) + for (SwTextNode * pTextNd = m_oIndex->GetNode().GetTextNode(); + pTextNd; pTextNd = m_oIndex->GetNode().GetTextNode()) { pFrame = static_cast<SwTextFrame const*>( pTextNd->getLayoutFrame(m_rEditSh.GetLayout())); @@ -354,7 +354,7 @@ OUString const* SwAutoCorrDoc::GetPrevPara(bool const bAtNormalPos) { break; } - sw::GotoPrevLayoutTextFrame(*m_pIndex, m_rEditSh.GetLayout()); + sw::GotoPrevLayoutTextFrame(*m_oIndex, m_rEditSh.GetLayout()); } if (pFrame && !pFrame->GetText().isEmpty() && 0 == pFrame->GetTextNodeForParaProps()->GetAttrOutlineLevel()) @@ -458,9 +458,9 @@ bool SwAutoCorrDoc::ChgAutoCorrWord( sal_Int32& rSttPos, sal_Int32 nEndPos, if( pPara ) { - OSL_ENSURE( !m_pIndex, "who has not deleted his Index?" ); - m_pIndex.reset(new SwNodeIndex( m_rCursor.GetPoint()->nNode )); - sw::GotoPrevLayoutTextFrame(*m_pIndex, m_rEditSh.GetLayout()); + OSL_ENSURE( !m_oIndex, "who has not deleted his Index?" ); + m_oIndex.emplace(m_rCursor.GetPoint()->nNode); + sw::GotoPrevLayoutTextFrame(*m_oIndex, m_rEditSh.GetLayout()); } SwDoc* pAutoDoc = aTBlks.GetDoc(); @@ -490,8 +490,8 @@ bool SwAutoCorrDoc::ChgAutoCorrWord( sal_Int32& rSttPos, sal_Int32 nEndPos, if( pPara ) { - sw::GotoNextLayoutTextFrame(*m_pIndex, m_rEditSh.GetLayout()); - pTextNd = m_pIndex->GetNode().GetTextNode(); + sw::GotoNextLayoutTextFrame(*m_oIndex, m_rEditSh.GetLayout()); + pTextNd = m_oIndex->GetNode().GetTextNode(); } bRet = true; } @@ -587,7 +587,7 @@ void SwAutoCorrDoc::SaveCpltSttWord( ACFlags nFlag, sal_Int32 nPos, const OUString& rExceptWord, sal_Unicode cChar ) { - SwNodeOffset nNode = m_pIndex ? m_pIndex->GetIndex() : m_rCursor.GetPoint()->GetNodeIndex(); + SwNodeOffset nNode = m_oIndex ? m_oIndex->GetIndex() : m_rCursor.GetPoint()->GetNodeIndex(); LanguageType eLang = GetLanguage(nPos); m_rEditSh.GetDoc()->SetAutoCorrExceptWord( std::make_unique<SwAutoCorrExceptWord>( nFlag, nNode, nPos, rExceptWord, cChar, eLang )); diff --git a/sw/source/core/inc/acorrect.hxx b/sw/source/core/inc/acorrect.hxx index 884e749e0d32..16df1c6a0b45 100644 --- a/sw/source/core/inc/acorrect.hxx +++ b/sw/source/core/inc/acorrect.hxx @@ -25,10 +25,10 @@ #include <svl/itemset.hxx> #include <editeng/svxacorr.hxx> #include <nodeoffset.hxx> +#include <ndindex.hxx> class SwEditShell; class SwPaM; -class SwNodeIndex; struct SwPosition; class SfxItemSet; @@ -49,7 +49,7 @@ class SwAutoCorrDoc final : public SvxAutoCorrDoc { SwEditShell& m_rEditSh; SwPaM& m_rCursor; - std::unique_ptr<SwNodeIndex> m_pIndex; + std::optional<SwNodeIndex> m_oIndex; int m_nEndUndoCounter; bool m_bUndoIdInitialized;
