Hi,

See
http://cgit.freedesktop.org/libreoffice/core/commit/?id=99b875a

Regression from 3.4; backported patch attached.

Thanks,

Miklos
>From db9ca9f46237f2beefaba793d9caaac721e8b1be Mon Sep 17 00:00:00 2001
From: Miklos Vajna <[email protected]>
Date: Sat, 21 Apr 2012 12:53:22 +0200
Subject: [PATCH] fdo#48876 fix RTF import of \sl without \slmult

(backport of 99b875aee04a808fb28715fb0e143a2b00332832)
---
 writerfilter/source/rtftok/rtfdocumentimpl.cxx |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index ff81727..fd57905 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -2404,9 +2404,15 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
             }
             break;
         case RTF_SL:
-            if (nParam > 0)
             {
-                // NS_sprm::LN_PDyaLine could be used, but that won't work with slmult
+                // This is similar to RTF_ABSH, negative value means 'exact', positive means 'at least'.
+                RTFValue::Pointer_t pValue(new RTFValue(NS_ooxml::LN_Value_wordprocessingml_ST_LineSpacingRule_atLeast));
+                if (nParam < 0)
+                {
+                    pValue.reset(new RTFValue(NS_ooxml::LN_Value_wordprocessingml_ST_LineSpacingRule_exact));
+                    pIntValue.reset(new RTFValue(-nParam));
+                }
+                m_aStates.top().aParagraphAttributes->push_back(make_pair(NS_ooxml::LN_CT_Spacing_lineRule, pValue));
                 m_aStates.top().aParagraphAttributes->push_back(make_pair(NS_ooxml::LN_CT_Spacing_line, pIntValue));
             }
             break;
-- 
1.7.7

_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to