writerfilter/source/dmapper/DomainMapper.cxx | 10 ++++++++++ 1 file changed, 10 insertions(+)
New commits: commit a0b89100be8ccc2b60d08d7e3819cd247a6042b0 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Tue Jul 29 11:19:56 2014 +0200 DOCX import: handle ooxml::CT_Spacing_lineRule after line Regression from commit a5f9fb720daeb2df8325768b98b8b720abcc2b9b (fdo#80800 : DOCX: Preservation of Direct Formatting for non first Table Cells, 2014-07-11), CT_Spacing's two attributes (line and lineRule) may come in different order; but the change only handled the case when lineRule is followed by line, and not the other way around. This fixes a unit test failure in CppunitTest_sw_ooxmlexport's testSpacingLineRule. Change-Id: I892d97a97390228a59a129f096be39ce93b822d6 diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 7e598d7..c32d86a 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -428,6 +428,16 @@ void DomainMapper::lcl_attribute(Id nName, Value & val) m_pImpl->appendGrabBag(m_pImpl->m_aSubInteropGrabBag, "lineRule", "exact"); aSpacing.Mode = style::LineSpacingMode::FIX; } + + if( m_pImpl->getTableManager().isInCell() ) + { + // If the table manager got the line rule after + // ooxml::CT_Spacing_line, then it should get the rule + // after lineRule as well. + TablePropertyMapPtr pTblCellWithDirectFormatting(new TablePropertyMap); + pTblCellWithDirectFormatting->insert(std::pair< PropertyIds, PropValue >(PROP_PARA_LINE_SPACING, uno::makeAny( aSpacing ))); + m_pImpl->getTableManager().cellProps(pTblCellWithDirectFormatting); + } } if (pTopContext) pTopContext->Insert(PROP_PARA_LINE_SPACING, uno::makeAny( aSpacing )); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits