diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2022-08-07 22:30:49 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-08-10 10:08:33 +0200 |
commit | 296110d547903ef67f6d1048c044378d30cb1406 (patch) | |
tree | edaf8a67da535a1c036ef209a97432cb4f0c143d | |
parent | f4c922f91e717728376dca943008a6dd56387c71 (diff) |
unique_ptr->optional in SwUndoDelete
Change-Id: I29cc59bb7283e86d4045cd854d7e9a4f056c3361
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138000
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r-- | sw/source/core/inc/UndoDelete.hxx | 3 | ||||
-rw-r--r-- | sw/source/core/undo/undel.cxx | 10 |
2 files changed, 7 insertions, 6 deletions
diff --git a/sw/source/core/inc/UndoDelete.hxx b/sw/source/core/inc/UndoDelete.hxx index 2491af658c61..70e91367cb6b 100644 --- a/sw/source/core/inc/UndoDelete.hxx +++ b/sw/source/core/inc/UndoDelete.hxx @@ -21,6 +21,7 @@ #define INCLUDED_SW_SOURCE_CORE_INC_UNDODELETE_HXX #include <undobj.hxx> +#include <ndindex.hxx> #include <rtl/ustring.hxx> #include <memory> #include <optional> @@ -39,7 +40,7 @@ class SwUndoDelete final , private SwUndRng , private SwUndoSaveContent { - std::unique_ptr<SwNodeIndex> m_pMvStt; // Position of Nodes in UndoNodes-Array + std::optional<SwNodeIndex> m_oMvStt; // Position of Nodes in UndoNodes-Array std::optional<OUString> m_aSttStr, m_aEndStr; std::unique_ptr<SwRedlineSaveDatas> m_pRedlSaveData; std::shared_ptr< ::sfx2::MetadatableUndo > m_pMetadataUndoStart; diff --git a/sw/source/core/undo/undel.cxx b/sw/source/core/undo/undel.cxx index 82d5e9635b89..f60f8911815e 100644 --- a/sw/source/core/undo/undel.cxx +++ b/sw/source/core/undo/undel.cxx @@ -385,7 +385,7 @@ SwUndoDelete::SwUndoDelete( // Step 3: Moving into UndoArray... m_nNode = rNds.GetEndOfContent().GetIndex(); rDocNds.MoveNodes( aRg, rNds, SwNodeIndex( rNds.GetEndOfContent() )); - m_pMvStt.reset( new SwNodeIndex( rNds, m_nNode ) ); + m_oMvStt.emplace( rNds, m_nNode ); // remember difference! m_nNode = rNds.GetEndOfContent().GetIndex() - m_nNode; @@ -602,11 +602,11 @@ bool SwUndoDelete::CanGrouping( SwDoc& rDoc, const SwPaM& rDelPam ) SwUndoDelete::~SwUndoDelete() { - if( m_pMvStt ) // Delete also the selection from UndoNodes array + if( m_oMvStt ) // Delete also the selection from UndoNodes array { // Insert saves content in IconSection - m_pMvStt->GetNode().GetNodes().Delete( *m_pMvStt, m_nNode ); - m_pMvStt.reset(); + m_oMvStt->GetNode().GetNodes().Delete( *m_oMvStt, m_nNode ); + m_oMvStt.reset(); } m_pRedlSaveData.reset(); } @@ -969,7 +969,7 @@ void SwUndoDelete::UndoImpl(::sw::UndoRedoContext & rContext) if( bNodeMove ) { - SwNodeRange aRange( *m_pMvStt, SwNodeOffset(0), *m_pMvStt, m_nNode ); + SwNodeRange aRange( *m_oMvStt, SwNodeOffset(0), *m_oMvStt, m_nNode ); SwNodeIndex aCopyIndex( aPos.nNode, -1 ); rDoc.GetUndoManager().GetUndoNodes().Copy_(aRange, aPos.nNode, // sw_redlinehide: delay creating frames: the flags on the |