diff options
Diffstat (limited to 'sw/source/filter/ww8/docxattributeoutput.cxx')
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.cxx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index d7d9deafb749..2fe102c81bfd 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -251,9 +251,18 @@ void DocxAttributeOutput::StartParagraph( ww8::WW8TableNodeInfo::Pointer_t pText { ww8::WW8TableNodeInfoInner::Pointer_t pInner( pTextNodeInfo->getInnerForDepth( nDepth ) ); + if (m_tableReference->m_pOldTablepInner && m_tableReference->m_pOldTablepInner->getTable() == pInner->getTable() && nCurrentDepth > 1 && nDepth != 1) + { + m_tableReference->m_pOldTablepInner = pInner; + break; + } + else + { StartTable( pInner ); StartTableRow( pInner ); StartTableCell( pInner ); + m_tableReference->m_pOldTablepInner = pInner; + } } m_tableReference->m_nTableDepth = nCurrentDepth; @@ -2366,8 +2375,10 @@ void DocxAttributeOutput::switchHeaderFooter(bool isHeaderFooter, sal_Int32 inde { m_oldTableReference->m_bTableCellOpen = m_tableReference->m_bTableCellOpen; m_oldTableReference->m_nTableDepth = m_tableReference->m_nTableDepth; + m_oldTableReference->m_pOldTablepInner = m_tableReference->m_pOldTablepInner; m_tableReference->m_bTableCellOpen = false; m_tableReference->m_nTableDepth = 0; + m_pSectionInfo.reset(); } else if( index == -1) { |