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

Miklos Vajna vmiklos at collabora.co.uk
Fri Mar 17 10:14:59 UTC 2017


 sw/qa/extras/rtfimport/data/tdf105729.rtf    |    9 +++++++++
 sw/qa/extras/rtfimport/rtfimport.cxx         |    6 ++++++
 writerfilter/source/dmapper/DomainMapper.cxx |    6 ++++--
 3 files changed, 19 insertions(+), 2 deletions(-)

New commits:
commit b5c4e120540053d0cb737720503cb7038f12d5bd
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Tue Mar 14 09:38:44 2017 +0100

    tdf#105729 RTF import: \ltrpar should not override \qc from style
    
    This is similar to commit 92fd894ea18672cba4cf961bdc4c0bc98f168102
    (tdf#94435 RTF import: \ltrpar should not override \qc, 2015-10-05),
    except that here the \qc is inherited from the style, it's not a direct
    formatting. The problematic code was added in commit
    2638faa2e834c2da4c195224fd88d32c29b3d0cc (writerfilter08ooo330: applied
    patch for writerfilter08, 2010-07-28), and it's not really clear to me
    what is its purpose, given that the DOC import equivalent in
    SwWW8ImplReader::Read_ParaBiDi() doesn't set the paragraph alignment.
    
    Fix the situation by not touching the paragraph alignment for the RTF
    case at least.
    
    (cherry picked from commit 2cc5f18d10cf6ef1349d9518e6f67977f7c5d9bf)
    
    Change-Id: I2baa2c8c8012d972740da7cf3f710117812859b3
    Reviewed-on: https://gerrit.libreoffice.org/35190
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>

diff --git a/sw/qa/extras/rtfimport/data/tdf105729.rtf b/sw/qa/extras/rtfimport/data/tdf105729.rtf
new file mode 100644
index 000000000000..996dd37b0057
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/tdf105729.rtf
@@ -0,0 +1,9 @@
+{\rtf1
+{\stylesheet
+{\s16\qc
+Titel 1;}
+}
+\pard\plain \ltrpar\s16\qc
+Centered Title
+\par
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index 1b9a2cc368a1..79f82d72dedb 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -2746,6 +2746,12 @@ DECLARE_RTFIMPORT_TEST(testTdf104287, "tdf104287.rtf")
     CPPUNIT_ASSERT(xShape->getAnchor().is());
 }
 
+DECLARE_RTFIMPORT_TEST(testTdf105729, "tdf105729.rtf")
+{
+    // This was style::ParagraphAdjust_LEFT, \ltrpar undone the effect of \qc from style.
+    CPPUNIT_ASSERT_EQUAL(style::ParagraphAdjust_CENTER, static_cast<style::ParagraphAdjust>(getProperty<sal_Int16>(getParagraph(1), "ParaAdjust")));
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index fe7b9a97b0b4..79a12523f999 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -1445,12 +1445,14 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const PropertyMapPtr& rContext )
             if (nIntValue != 0)
             {
                 rContext->Insert(PROP_WRITING_MODE, uno::makeAny( text::WritingMode2::RL_TB ));
-                rContext->Insert(PROP_PARA_ADJUST, uno::makeAny( style::ParagraphAdjust_RIGHT ), /*bOverwrite=*/false);
+                if (!IsRTFImport())
+                    rContext->Insert(PROP_PARA_ADJUST, uno::makeAny( style::ParagraphAdjust_RIGHT ), /*bOverwrite=*/false);
             }
             else
             {
                 rContext->Insert(PROP_WRITING_MODE, uno::makeAny( text::WritingMode2::LR_TB ));
-                rContext->Insert(PROP_PARA_ADJUST, uno::makeAny( style::ParagraphAdjust_LEFT ), /*bOverwrite=*/false);
+                if (!IsRTFImport())
+                    rContext->Insert(PROP_PARA_ADJUST, uno::makeAny( style::ParagraphAdjust_LEFT ), /*bOverwrite=*/false);
             }
         }
 


More information about the Libreoffice-commits mailing list