From 21796a5fb92fd9773017b782a654a8b5a190cc66 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 13 Feb 2015 10:33:37 +0000 Subject: Resolves: tdf#79569 crash undoing tricky cell merge Change-Id: I68d774d0d3758cdb67864d7939a7e1167dd9a7df --- sw/source/core/undo/untbl.cxx | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'sw') diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx index 9f1e754227c0..9778de2e6213 100644 --- a/sw/source/core/undo/untbl.cxx +++ b/sw/source/core/undo/untbl.cxx @@ -1351,21 +1351,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 ) -- cgit