From d8b5bd541b946de2b3e70e8227baf6eb602ba8e2 Mon Sep 17 00:00:00 2001 From: Vinaya Mandke Date: Mon, 5 May 2014 14:13:31 +0530 Subject: fdo#78284 Content-type of ".png" images in Smart Art Content-type for 'png' images was not getting added in [Content_Types].xml. This was as only 'jpeg' and 'wmf' extensions were handled. Modified DocxSdrExport::writeDiagramRels to handle all types of extensions. Added UT for the same. Reviewed on: https://gerrit.libreoffice.org/9252 Change-Id: I5e068d4db14f3a43be08a4b7c9bf265f388bf356 --- sw/qa/extras/ooxmlexport/data/fdo78284.docx | Bin 0 -> 26129 bytes sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 11 +++++++++++ sw/source/filter/ww8/docxsdrexport.cxx | 6 +++--- 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 sw/qa/extras/ooxmlexport/data/fdo78284.docx (limited to 'sw') diff --git a/sw/qa/extras/ooxmlexport/data/fdo78284.docx b/sw/qa/extras/ooxmlexport/data/fdo78284.docx new file mode 100644 index 000000000000..92145eb127c6 Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/fdo78284.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index acd3d0648c3b..bea603d886df 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -3260,6 +3260,17 @@ DECLARE_OOXMLEXPORT_TEST(testPageBreakInFirstPara,"fdo77727.docx") assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[2]/w:br","type","page"); } +DECLARE_OOXMLEXPORT_TEST(testFDO78284, "fdo78284.docx") +{ + xmlDocPtr pXmlDoc = parseExport("[Content_Types].xml"); + + if (!pXmlDoc) + return; + assertXPath(pXmlDoc,"/ContentType:Types/ContentType:Override[@PartName='/word/media/OOXDiagramDataRels1_0.png']", + "ContentType", + "image/png"); +} + #endif CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sw/source/filter/ww8/docxsdrexport.cxx b/sw/source/filter/ww8/docxsdrexport.cxx index 563e124a9b23..f47a61514330 100644 --- a/sw/source/filter/ww8/docxsdrexport.cxx +++ b/sw/source/filter/ww8/docxsdrexport.cxx @@ -828,10 +828,10 @@ void DocxSdrExport::writeDiagramRels(uno::Reference xDom, diagramDataRelTuple[0] >>= sRelId; diagramDataRelTuple[2] >>= sExtension; OUString sContentType; - if (sExtension == ".jpeg") - sContentType = "image/jpeg"; - else if (sExtension == ".WMF") + if (sExtension.equalsIgnoreAsciiCase(".WMF")) sContentType = "image/x-wmf"; + else + sContentType = OUString("image/") + sExtension.copy(1); sRelId = sRelId.copy(3); StreamDataSequence dataSeq; -- cgit