diff options
author | Sourav <sourav.mahajan@synerzip.com> | 2014-04-24 18:18:16 +0530 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-04-28 10:04:21 +0200 |
commit | f0860625e29c18d2eca647a6cedd0ce679d5a80d (patch) | |
tree | b2867d5dbf98294515caa550743e5eae9580cd97 | |
parent | d6904736b9a07b2a321add96be4857ba41a7f370 (diff) |
fdo#77719 File containing CusGeom gets corrupted on RT.
RT file gets corrupted because in presetgeometry tag shapetype is coming as blank.
A check is introduced to handle that.
Reviewed on:
https://gerrit.libreoffice.org/9147
Change-Id: Ie79db0f5dcadfa3cd5d3f54d4a676393b3a882c5
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/fdo77719.docx | bin | 0 -> 16680 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx | 8 | ||||
-rw-r--r-- | sw/source/filter/ww8/docxsdrexport.cxx | 3 |
3 files changed, 11 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/fdo77719.docx b/sw/qa/extras/ooxmlexport/data/fdo77719.docx Binary files differnew file mode 100644 index 000000000000..e671b33f4e76 --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/fdo77719.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx index cc04809835e2..06182df566d5 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx @@ -1105,6 +1105,14 @@ DECLARE_OOXMLEXPORT_TEST(testShapeEffectPreservation, "shape-effect-preservation "val", "50000"); } +DECLARE_OOXMLEXPORT_TEST(fdo77719, "fdo77719.docx") +{ + xmlDocPtr pXmlDoc = parseExport("word/document.xml"); + if (!pXmlDoc) + return; + assertXPath(pXmlDoc, "/w:document[1]/w:body[1]/w:p[1]/w:r[2]/mc:AlternateContent[1]/mc:Choice[1]/w:drawing[1]/wp:anchor[1]/a:graphic[1]/a:graphicData[1]/wps:wsp[1]/wps:spPr[1]/a:prstGeom[1]", "prst", "rect"); +} + #endif CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sw/source/filter/ww8/docxsdrexport.cxx b/sw/source/filter/ww8/docxsdrexport.cxx index 5c5d5a233dcb..563e124a9b23 100644 --- a/sw/source/filter/ww8/docxsdrexport.cxx +++ b/sw/source/filter/ww8/docxsdrexport.cxx @@ -1164,6 +1164,9 @@ void DocxSdrExport::writeDMLTextFrame(sw::Frame* pParentFrame, int nAnchorId) } } } + //Empty shapeType will lead to corruption so to avoid that shapeType is set to default i.e. "rect" + if (shapeType.isEmpty()) + shapeType = "rect"; pFS->singleElementNS(XML_a, XML_prstGeom, XML_prst, OUStringToOString(shapeType, RTL_TEXTENCODING_UTF8).getStr(), |