summaryrefslogtreecommitdiff
path: root/oox/source/export/shapes.cxx
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2016-10-25 01:51:25 +0000
committerTamás Zolnai <tamas.zolnai@collabora.com>2016-10-25 00:37:25 +0000
commitf7c61b08d526c79ecd1522dff79386059b6125e0 (patch)
tree496c9960e02bb0ded01d8ab9ecd0faf8c2ec2620 /oox/source/export/shapes.cxx
parent419e4fa1b587c1e4bc3f8d48729e1955ade1c8c3 (diff)
tdf#103389: Resaving a DOCX document with two canvases leads to a broken file.
Make custom shape export more robust. In case of the test document, WriteCustomGeometry is called, but this call does not export anything, and so we get a shape without any geometry in the DOCX file, which causes problem to MS Word. Change-Id: Ie7a4e2b8a18bfddaeeb81425ae5f1de04140d43f Reviewed-on: https://gerrit.libreoffice.org/30241 Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Diffstat (limited to 'oox/source/export/shapes.cxx')
-rw-r--r--oox/source/export/shapes.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx
index 62b8b34aa2c7..a44f2ee25b40 100644
--- a/oox/source/export/shapes.cxx
+++ b/oox/source/export/shapes.cxx
@@ -834,7 +834,9 @@ ShapeExport& ShapeExport::WriteCustomShape( const Reference< XShape >& xShape )
else if (bCustGeom)
{
WriteShapeTransformation( xShape, XML_a, bFlipH, bFlipV );
- WriteCustomGeometry( xShape );
+ bool bSuccess = WriteCustomGeometry( xShape );
+ if (!bSuccess)
+ WritePresetShape( sPresetShape );
}
else if (bOnBlacklist && bHasHandles && nAdjustmentValuesIndex !=-1 && !sShapeType.startsWith("mso-spt"))
{