[Libreoffice-commits] core.git: sw/qa writerfilter/source

Miklos Vajna vmiklos at collabora.co.uk
Fri Jul 18 02:00:20 PDT 2014


 sw/qa/extras/rtfimport/data/unbalanced-columns-compat.rtf |    7 +++++++
 sw/qa/extras/rtfimport/rtfimport.cxx                      |    8 ++++++++
 writerfilter/source/rtftok/rtfdocumentimpl.cxx            |    3 +++
 3 files changed, 18 insertions(+)

New commits:
commit 6f2b2e1436fe3917c1fcace2f1e2d34416311996
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Fri Jul 18 10:50:54 2014 +0200

    writerfilter: import RTF_NOCOLBAL
    
    Change-Id: If2efab82c0adc2f3dc52733c335693565c350bfa

diff --git a/sw/qa/extras/rtfimport/data/unbalanced-columns-compat.rtf b/sw/qa/extras/rtfimport/data/unbalanced-columns-compat.rtf
new file mode 100644
index 0000000..1e4b17e
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/unbalanced-columns-compat.rtf
@@ -0,0 +1,7 @@
+{\rtf1
+\nocolbal\sectd\cols2\pard\plain
+This is in the left column.\par
+This is the second line, in the same column.\par
+\sect\sectd\sbknone\pard\plain
+After section break.\par
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index 76de5bb..a2ff94f 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -1784,6 +1784,14 @@ DECLARE_RTFIMPORT_TEST(testFdo80905, "fdo80905.rtf")
     CPPUNIT_ASSERT_EQUAL(true, static_cast<bool>(xFields->hasMoreElements()));
 }
 
+DECLARE_RTFIMPORT_TEST(testUnbalancedColumnsCompat, "unbalanced-columns-compat.rtf")
+{
+    uno::Reference<text::XTextSectionsSupplier> xTextSectionsSupplier(mxComponent, uno::UNO_QUERY);
+    uno::Reference<container::XIndexAccess> xTextSections(xTextSectionsSupplier->getTextSections(), uno::UNO_QUERY);
+    // This was false, we ignored the relevant compat setting to make this non-last section unbalanced.
+    CPPUNIT_ASSERT_EQUAL(true, getProperty<bool>(xTextSections->getByIndex(0), "DontBalanceTextColumns"));
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 8d54a69..6fe2bdc 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -3311,6 +3311,9 @@ int RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
     case RTF_BRDRSH:
         lcl_putBorderProperty(m_aStates, NS_ooxml::LN_CT_Border_shadow, RTFValue::Pointer_t(new RTFValue(1)));
         break;
+    case RTF_NOCOLBAL:
+        m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Compat_noColumnBalance, RTFValue::Pointer_t(new RTFValue(1)));
+        break;
     default:
     {
         SAL_INFO("writerfilter", "TODO handle flag '" << lcl_RtfToString(nKeyword) << "'");


More information about the Libreoffice-commits mailing list