diff options
-rw-r--r-- | sw/source/core/doc/doctxm.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sw/source/core/doc/doctxm.cxx b/sw/source/core/doc/doctxm.cxx index e0fa41f6ec7a..aa05171caf8c 100644 --- a/sw/source/core/doc/doctxm.cxx +++ b/sw/source/core/doc/doctxm.cxx @@ -156,6 +156,7 @@ void SwDoc::DeleteTOXMark( const SwTOXMark* pTOXMark ) SwTxtNode& rTxtNd = const_cast<SwTxtNode&>(pTxtTOXMark->GetTxtNode()); OSL_ENSURE( rTxtNd.GetpSwpHints(), "cannot be deleted" ); + std::unique_ptr<SwRegHistory> aRHst; if (GetIDocumentUndoRedo().DoesUndo()) { // save attributes for Undo @@ -164,8 +165,8 @@ void SwDoc::DeleteTOXMark( const SwTOXMark* pTOXMark ) RES_TXTATR_TOXMARK ); GetIDocumentUndoRedo().AppendUndo( pUndo ); - SwRegHistory aRHst( rTxtNd, &pUndo->GetHistory() ); - rTxtNd.GetpSwpHints()->Register( &aRHst ); + aRHst.reset(new SwRegHistory(rTxtNd, &pUndo->GetHistory())); + rTxtNd.GetpSwpHints()->Register(aRHst.get()); } rTxtNd.DeleteAttribute( const_cast<SwTxtTOXMark*>(pTxtTOXMark) ); |