diff --git a/sw/source/core/inc/UndoDraw.hxx b/sw/source/core/inc/UndoDraw.hxx index 892016e476db..557dba678825 100644 --- a/sw/source/core/inc/UndoDraw.hxx +++ b/sw/source/core/inc/UndoDraw.hxx @@ -40,7 +40,7 @@ class SwSdrUndo : public SwUndo std::unique_ptr pMarkList; // MarkList for all selected SdrObjects public: - SwSdrUndo( SdrUndoAction* , const SdrMarkList* pMarkList, const SwDoc* pDoc ); + SwSdrUndo( std::unique_ptr , const SdrMarkList* pMarkList, const SwDoc* pDoc ); virtual ~SwSdrUndo() override; diff --git a/sw/source/core/undo/undraw.cxx b/sw/source/core/undo/undraw.cxx index 0572877b62b7..2b1a8c442f15 100644 --- a/sw/source/core/undo/undraw.cxx +++ b/sw/source/core/undo/undraw.cxx @@ -65,14 +65,14 @@ IMPL_LINK( SwDoc, AddDrawUndo, SdrUndoAction *, pUndo, void ) if( pSh && pSh->HasDrawView() ) pMarkList = &pSh->GetDrawView()->GetMarkedObjectList(); - GetIDocumentUndoRedo().AppendUndo( new SwSdrUndo(pUndo, pMarkList, this) ); + GetIDocumentUndoRedo().AppendUndo( new SwSdrUndo(std::unique_ptr(pUndo), pMarkList, this) ); } else delete pUndo; } -SwSdrUndo::SwSdrUndo( SdrUndoAction* pUndo, const SdrMarkList* pMrkLst, const SwDoc* pDoc ) - : SwUndo( SwUndoId::DRAWUNDO, pDoc ), pSdrUndo( pUndo ) +SwSdrUndo::SwSdrUndo( std::unique_ptr pUndo, const SdrMarkList* pMrkLst, const SwDoc* pDoc ) + : SwUndo( SwUndoId::DRAWUNDO, pDoc ), pSdrUndo( std::move(pUndo) ) { if( pMrkLst && pMrkLst->GetMarkCount() ) pMarkList.reset( new SdrMarkList( *pMrkLst ) );