[Libreoffice-commits] core.git: Branch 'libreoffice-5-4' - sw/qa writerfilter/source

Miklos Vajna vmiklos at collabora.co.uk
Tue Nov 7 20:48:16 UTC 2017


 sw/qa/extras/rtfexport/data/tdf113550.rtf |   17 +++++++++++++++++
 sw/qa/extras/rtfexport/rtfexport.cxx      |   10 ++++++++++
 writerfilter/source/rtftok/rtfsprm.cxx    |    3 +++
 3 files changed, 30 insertions(+)

New commits:
commit 54c1066d3f98ac15b51b57645ddca767247e622b
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Tue Nov 7 09:02:11 2017 +0100

    tdf#113550 RTF import: fix incorrect text indent
    
    Left indent was set to non-zero in the style, but direct formatting set
    it back to zero. Teach deduplication to remove the
    NS_ooxml::LN_CT_PPrBase_ind SPRM itself in case the last attribute was
    removed.
    
    (cherry picked from commit 5f4a3e7bd77c3294ef85eebec17ed2d624dc3a2d)
    
    Change-Id: I01b202f0241b02816b2b392326737b1150caffc2
    Reviewed-on: https://gerrit.libreoffice.org/44395
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/sw/qa/extras/rtfexport/data/tdf113550.rtf b/sw/qa/extras/rtfexport/data/tdf113550.rtf
new file mode 100644
index 000000000000..ef89c9af5df6
--- /dev/null
+++ b/sw/qa/extras/rtfexport/data/tdf113550.rtf
@@ -0,0 +1,17 @@
+{\rtf1\adeflang1037\ansi\ansicpg1252\uc1\adeff1\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0
+{\fonttbl
+{\f0\fbidi \froman\fcharset238\fprq2 Times New Roman;}
+}
+{\stylesheet
+{\ql \li0\ri0 Normal;}
+{\s22\ql \li0\ri0 S22;}
+{\s442\ql \li1418\ri0 \sbasedon22 S442;}
+}
+\paperw12240\paperh15840\margl1134\margr1134\margt1134\margb1410
+\trowd \cellx10008
+\pard\plain \ltrpar\s442\ql \li0\ri0\intbl
+hello\par
+\pard\cell\row 
+}
+\pard\plain\par
+}
diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx
index 12fb3dcf8708..ebc700c194f4 100644
--- a/sw/qa/extras/rtfexport/rtfexport.cxx
+++ b/sw/qa/extras/rtfexport/rtfexport.cxx
@@ -1206,6 +1206,16 @@ DECLARE_RTFEXPORT_TEST(testTdf104085, "tdf104085.rtf")
     CPPUNIT_FAIL("no BulletChar property");
 }
 
+DECLARE_RTFEXPORT_TEST(testTdf113550, "tdf113550.rtf")
+{
+    uno::Reference<text::XTextTable> xTable(getParagraphOrTable(1), uno::UNO_QUERY);
+    uno::Reference<text::XTextRange> xCell(xTable->getCellByName("A1"), uno::UNO_QUERY);
+    uno::Reference<text::XTextRange> xParagraph = getParagraphOfText(1, xCell->getText());
+    // This was 2501, 0 as direct formatting was ignored on the paragraph (and
+    // the style had this larger value).
+    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0), getProperty<sal_Int32>(xParagraph, "ParaLeftMargin"));
+}
+
 DECLARE_RTFEXPORT_TEST(testLeveljcCenter, "leveljc-center.rtf")
 {
     // Tests that \leveljc1 is mapped to Adjust=Center for a numbering rule.
diff --git a/writerfilter/source/rtftok/rtfsprm.cxx b/writerfilter/source/rtftok/rtfsprm.cxx
index f6301243de1a..4f2b4b02194f 100644
--- a/writerfilter/source/rtftok/rtfsprm.cxx
+++ b/writerfilter/source/rtftok/rtfsprm.cxx
@@ -187,6 +187,9 @@ static bool isSPRMChildrenExpected(Id nId)
         SAL_FALLTHROUGH;
     case NS_ooxml::LN_CT_PrBase_shd:
         // Expected children are NS_ooxml::LN_CT_Shd_*.
+        SAL_FALLTHROUGH;
+    case NS_ooxml::LN_CT_PPrBase_ind:
+        // Expected children are NS_ooxml::LN_CT_Ind_*.
         return true;
 
     default:


More information about the Libreoffice-commits mailing list