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

Reply via email to