summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
Diffstat (limited to 'sw')
-rw-r--r--sw/qa/extras/ooxmlexport/data/fdo77719.docxbin0 -> 16680 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx8
-rw-r--r--sw/source/filter/ww8/docxsdrexport.cxx3
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
new file mode 100644
index 000000000000..e671b33f4e76
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/fdo77719.docx
Binary files differ
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(),