diff options
Diffstat (limited to 'writerfilter/source/dmapper/DomainMapperTableManager.cxx')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapperTableManager.cxx | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx index 157fbf83b914..6ca05de8f55d 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx @@ -55,6 +55,7 @@ DomainMapperTableManager::DomainMapperTableManager(bool bOOXML) : m_aTmpTableProperties(), m_bPushCurrentWidth(false), m_bRowSizeTypeInserted(false), + m_bHasBtlrCell(false), m_bTableSizeTypeInserted(false), m_nLayoutType(0), m_nMaxFixedWidth(0), @@ -336,10 +337,15 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) SAL_INFO( "writerfilter", "Have inserted textDirection " << nIntValue ); // We're faking a text direction, so don't allow multiple lines. - TablePropertyMapPtr pRowPropMap( new TablePropertyMap ); - pRowPropMap->Insert(PROP_SIZE_TYPE, false, uno::makeAny(text::SizeType::FIX)); - m_bRowSizeTypeInserted = true; - insertRowProps(pRowPropMap); + if (!getCellProps() || getCellProps()->find(PropertyDefinition(PROP_VERTICAL_MERGE, false)) == getCellProps()->end()) + { + // Though in case there will be a vertical merge, don't do this, it hides text that is supposed to be visible. + TablePropertyMapPtr pRowPropMap( new TablePropertyMap ); + pRowPropMap->Insert(PROP_SIZE_TYPE, false, uno::makeAny(text::SizeType::FIX)); + m_bRowSizeTypeInserted = true; + insertRowProps(pRowPropMap); + } + m_bHasBtlrCell = true; } break; case 4: // lrTbV @@ -720,6 +726,7 @@ void DomainMapperTableManager::endOfRowAction() m_nGridBefore = m_nGridAfter = 0; m_bRowSizeTypeInserted = false; + m_bHasBtlrCell = false; m_bTableSizeTypeInserted = false; #ifdef DEBUG_DOMAINMAPPER |