summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2022-08-07 22:30:49 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-08-10 10:08:33 +0200
commit296110d547903ef67f6d1048c044378d30cb1406 (patch)
treeedaf8a67da535a1c036ef209a97432cb4f0c143d
parentf4c922f91e717728376dca943008a6dd56387c71 (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.hxx3
-rw-r--r--sw/source/core/undo/undel.cxx10
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