summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2015-02-25 09:08:35 +0100
committerStephan Bergmann <sbergman@redhat.com>2015-02-25 09:08:35 +0100
commit1c4e95db104cd5f732bc41a539a7dc5fd9269ef6 (patch)
tree51d391cd708c4b40247e3fcf782fd5e08e999949
parent9ed292b945a1f0268fcfdb5a37756ccb43da1cc3 (diff)
Fix dangling pointer
Change-Id: I352702ac50708a8f8c40e2752821178223052b7c
-rw-r--r--sw/source/core/doc/doctxm.cxx5
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) );