diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-02-25 09:08:35 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2015-02-25 09:08:35 +0100 |
commit | 1c4e95db104cd5f732bc41a539a7dc5fd9269ef6 (patch) | |
tree | 51d391cd708c4b40247e3fcf782fd5e08e999949 /sw/source | |
parent | 9ed292b945a1f0268fcfdb5a37756ccb43da1cc3 (diff) |
Fix dangling pointer
Change-Id: I352702ac50708a8f8c40e2752821178223052b7c
Diffstat (limited to 'sw/source')
-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) ); |