[Libreoffice-commits] core.git: Branch 'libreoffice-6-4' - oox/source sd/qa

Samuel Mehrbrodt (via logerrit) logerrit at kemper.freedesktop.org
Wed Apr 29 07:54:21 UTC 2020


 oox/source/core/xmlfilterbase.cxx   |    3 ++-
 sd/qa/unit/data/pptx/tdf119087.pptx |binary
 sd/qa/unit/export-tests-ooxml2.cxx  |    9 +++++++++
 3 files changed, 11 insertions(+), 1 deletion(-)

New commits:
commit 68f75fe0701fcf9b92c5f1b5fd5eeb9268297494
Author:     Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
AuthorDate: Tue Apr 28 13:05:55 2020 +0200
Commit:     Michael Stahl <michael.stahl at cib.de>
CommitDate: Wed Apr 29 09:53:47 2020 +0200

    tdf#119087 Don't treat OOXML strict namespace as custom XML
    
    Change-Id: I5037ac09f57c92e02e330cbc906da3afbe4c747c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93056
    Tested-by: Jenkins
    Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
    (cherry picked from commit 9be543a27ab18427a1c4e66a70cc49b0332b6aa1)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93128
    Reviewed-by: Michael Stahl <michael.stahl at cib.de>

diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx
index 5808fdc6f234..2cc1daa54b04 100644
--- a/oox/source/core/xmlfilterbase.cxx
+++ b/oox/source/core/xmlfilterbase.cxx
@@ -992,7 +992,8 @@ void XmlFilterBase::importCustomFragments(css::uno::Reference<css::embed::XStora
             }
 
             // Preserve non-standard (i.e. custom) entries.
-            if (!sType.match("http://schemas.openxmlformats.org"))
+            if (!sType.match("http://schemas.openxmlformats.org") // OOXML/ECMA Transitional
+                && !sType.match("http://purl.oclc.org")) // OOXML Strict
             {
                 StreamDataSequence aDataSeq;
                 if (importBinaryData(aDataSeq, sTarget))
diff --git a/sd/qa/unit/data/pptx/tdf119087.pptx b/sd/qa/unit/data/pptx/tdf119087.pptx
new file mode 100644
index 000000000000..d70bc8b0d4ff
Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf119087.pptx differ
diff --git a/sd/qa/unit/export-tests-ooxml2.cxx b/sd/qa/unit/export-tests-ooxml2.cxx
index d0ef2dac0eb7..f12ad87e9abc 100644
--- a/sd/qa/unit/export-tests-ooxml2.cxx
+++ b/sd/qa/unit/export-tests-ooxml2.cxx
@@ -182,6 +182,7 @@ public:
     void testTdf127372();
     void testTdf127379();
     void testTdf98603();
+    void testTdf119087();
     void testTdf131554();
 
     CPPUNIT_TEST_SUITE(SdOOXMLExportTest2);
@@ -283,6 +284,7 @@ public:
     CPPUNIT_TEST(testTdf127372);
     CPPUNIT_TEST(testTdf127379);
     CPPUNIT_TEST(testTdf98603);
+    CPPUNIT_TEST(testTdf119087);
     CPPUNIT_TEST(testTdf131554);
 
     CPPUNIT_TEST_SUITE_END();
@@ -2635,6 +2637,13 @@ void SdOOXMLExportTest2::testTdf98603()
     CPPUNIT_ASSERT_EQUAL(OUString("IL"), aLocale.Country);
 }
 
+void SdOOXMLExportTest2::testTdf119087()
+{
+    ::sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("sd/qa/unit/data/pptx/tdf119087.pptx"), PPTX);
+    xDocShRef = saveAndReload( xDocShRef.get(), PPTX );
+    // This would fail both on export validation, and reloading the saved pptx file.
+}
+
 void SdOOXMLExportTest2::testTdf131554()
 {
     ::sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("sd/qa/unit/data/pptx/tdf131554.pptx"), PPTX);


More information about the Libreoffice-commits mailing list