oox/source/vml/vmlshapecontext.cxx | 4 +++- sw/qa/extras/ooxmlexport/data/tdf122563.docx |binary sw/qa/extras/ooxmlexport/ooxmlexport12.cxx | 11 +++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-)
New commits: commit d55cc244aba92f4e9fbdd7d51c65112075c6e8a8 Author: László Németh <nem...@numbertext.org> AuthorDate: Wed Jan 9 22:15:26 2019 +0100 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Mon Jan 28 15:00:41 2019 +0100 tdf#122563 DOCX import: fix OLE size after roundtrip Embedded XLSX spreadsheets and other OLE objects became small in Writer after a roundtrip between LibO and MSO, caused by the empty drawing path of OLE shapes. Change-Id: I4cd39d4bcd6707cc5a3b8e40dde8c6148a20cabc Reviewed-on: https://gerrit.libreoffice.org/66053 Tested-by: Jenkins Reviewed-by: László Németh <nem...@numbertext.org> (cherry picked from commit bdb0177b550d27a541cdfc0668714b2e9ac28540) Reviewed-on: https://gerrit.libreoffice.org/66689 Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/oox/source/vml/vmlshapecontext.cxx b/oox/source/vml/vmlshapecontext.cxx index f5f4bf884e31..621f20d29895 100644 --- a/oox/source/vml/vmlshapecontext.cxx +++ b/oox/source/vml/vmlshapecontext.cxx @@ -240,7 +240,9 @@ ContextHandlerRef ShapeContextBase::createShapeContext( ContextHandler2Helper co case VML_TOKEN( group ): return new GroupShapeContext( rParent, rShapes.createShape< GroupShape >(), rAttribs ); case VML_TOKEN( shape ): - if (rAttribs.hasAttribute(XML_path)) + if (rAttribs.hasAttribute(XML_path) && + // tdf#122563 skip in the case of empty path + !rAttribs.getString(XML_path, "").isEmpty()) return new ShapeContext( rParent, rShapes.createShape< BezierShape >(), rAttribs ); else return new ShapeContext( rParent, rShapes.createShape< ComplexShape >(), rAttribs ); diff --git a/sw/qa/extras/ooxmlexport/data/tdf122563.docx b/sw/qa/extras/ooxmlexport/data/tdf122563.docx new file mode 100644 index 000000000000..69168a382623 Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf122563.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx index 3e90ed1b4d9d..a91fe0c3b67b 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx @@ -936,6 +936,17 @@ DECLARE_OOXMLEXPORT_TEST(testTdf99631, "tdf99631.docx") assertXPath(pXmlDoc, "/w:document/w:body/w:p[2]/w:r[2]/w:object[1]", "dyaOrig", "768"); } +DECLARE_OOXMLEXPORT_TEST(testTdf122563, "tdf122563.docx") +{ + xmlDocPtr pXmlDoc = parseExport("word/document.xml"); + if (!pXmlDoc) + return; + assertXPath(pXmlDoc, "/w:document/w:body/w:p[2]/w:r/w:object", 1); + // Size of the embedded OLE spreadsheet was the bad "width:28.35pt;height:28.35pt" + assertXPath(pXmlDoc, "/w:document/w:body/w:p[2]/w:r[1]/w:object/v:shape", "style", + "width:255.75pt;height:63.75pt"); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits