diff options
Diffstat (limited to 'xmloff/source/table/XMLTableImport.cxx')
-rw-r--r-- | xmloff/source/table/XMLTableImport.cxx | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/xmloff/source/table/XMLTableImport.cxx b/xmloff/source/table/XMLTableImport.cxx index 5cc315c73efd..7bfe87b96ed9 100644 --- a/xmloff/source/table/XMLTableImport.cxx +++ b/xmloff/source/table/XMLTableImport.cxx @@ -594,20 +594,17 @@ void XMLTableImportContext::StartElement( const Reference< XAttributeList >& /*x void XMLTableImportContext::EndElement() { - if( !maMergeInfos.empty() ) + for( const std::shared_ptr< MergeInfo >& xInfo : maMergeInfos ) { - for( const std::shared_ptr< MergeInfo >& xInfo : maMergeInfos ) + if( xInfo.get() ) try { - if( xInfo.get() ) try - { - Reference< XCellRange > xRange( mxTable->getCellRangeByPosition( xInfo->mnStartColumn, xInfo->mnStartRow, xInfo->mnEndColumn, xInfo->mnEndRow ) ); - Reference< XMergeableCellRange > xCursor( mxTable->createCursorByRange( xRange ), UNO_QUERY_THROW ); - xCursor->merge(); - } - catch( Exception& ) - { - OSL_FAIL("XMLTableImportContext::EndElement(), exception caught while merging cells!"); - } + Reference< XCellRange > xRange( mxTable->getCellRangeByPosition( xInfo->mnStartColumn, xInfo->mnStartRow, xInfo->mnEndColumn, xInfo->mnEndRow ) ); + Reference< XMergeableCellRange > xCursor( mxTable->createCursorByRange( xRange ), UNO_QUERY_THROW ); + xCursor->merge(); + } + catch( Exception& ) + { + OSL_FAIL("XMLTableImportContext::EndElement(), exception caught while merging cells!"); } } } |