diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-02-13 10:33:37 +0000 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-02-13 11:36:06 +0000 |
commit | f8d3cec9a99edd29d8780f3bc5f0cc9764e9c8e5 (patch) | |
tree | 3348f17996466b3e6c55450015644858dd585ae5 | |
parent | a4c3a56d886574a0af14806a3a3f7683873136dd (diff) |
Resolves: tdf#79569 crash undoing tricky cell merge
Change-Id: I68d774d0d3758cdb67864d7939a7e1167dd9a7df
(cherry picked from commit 21796a5fb92fd9773017b782a654a8b5a190cc66)
Reviewed-on: https://gerrit.libreoffice.org/14467
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
-rw-r--r-- | sw/source/core/undo/untbl.cxx | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx index aafa683e289b..178cd036a138 100644 --- a/sw/source/core/undo/untbl.cxx +++ b/sw/source/core/undo/untbl.cxx @@ -1350,21 +1350,22 @@ void _SaveBox::CreateNew( SwTable& rTbl, SwTableLine& rParent, _SaveTable& rSTbl { // search box for StartNode in old table SwTableBox* pBox = rTbl.GetTblBox( nSttNode ); - OSL_ENSURE( pBox, "Where is my TableBox?" ); - - SwFrmFmt* pOld = pBox->GetFrmFmt(); - pBox->RegisterToFormat( *pFmt ); - if( !pOld->GetDepends() ) - delete pOld; + if (pBox) + { + SwFrmFmt* pOld = pBox->GetFrmFmt(); + pBox->RegisterToFormat( *pFmt ); + if( !pOld->GetDepends() ) + delete pOld; - pBox->setRowSpan( nRowSpan ); + pBox->setRowSpan( nRowSpan ); - SwTableBoxes* pTBoxes = &pBox->GetUpper()->GetTabBoxes(); - pTBoxes->erase( std::find( pTBoxes->begin(), pTBoxes->end(), pBox ) ); + SwTableBoxes* pTBoxes = &pBox->GetUpper()->GetTabBoxes(); + pTBoxes->erase( std::find( pTBoxes->begin(), pTBoxes->end(), pBox ) ); - pBox->SetUpper( &rParent ); - pTBoxes = &rParent.GetTabBoxes(); - pTBoxes->push_back( pBox ); + pBox->SetUpper( &rParent ); + pTBoxes = &rParent.GetTabBoxes(); + pTBoxes->push_back( pBox ); + } } if( pNext ) |