summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2020-04-28 13:05:55 +0200
committerMichael Stahl <michael.stahl@cib.de>2020-04-29 09:53:47 +0200
commit68f75fe0701fcf9b92c5f1b5fd5eeb9268297494 (patch)
treeb133a8dc8fb5b5b06ececf0be8fe25ae03e22064
parentfda60625c9e8bbc0259c790e7da76e608a012451 (diff)
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@cib.de> (cherry picked from commit 9be543a27ab18427a1c4e66a70cc49b0332b6aa1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93128 Reviewed-by: Michael Stahl <michael.stahl@cib.de>
-rw-r--r--oox/source/core/xmlfilterbase.cxx3
-rw-r--r--sd/qa/unit/data/pptx/tdf119087.pptxbin0 -> 15035 bytes
-rw-r--r--sd/qa/unit/export-tests-ooxml2.cxx9
3 files changed, 11 insertions, 1 deletions
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
--- /dev/null
+++ b/sd/qa/unit/data/pptx/tdf119087.pptx
Binary files 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);