From e0a0b6e8294aa5fcdfb36e5f38783486db0f0b2a Mon Sep 17 00:00:00 2001 From: Mark Hung Date: Sun, 20 Nov 2016 01:39:37 +0800 Subject: tdf59046 oox: fix incorrectly combined shapes 1. Store the path of all polygons of a PolyPolygon in the same path element so it subtract overlapped area. 2. Set the size of the path as the bounding box of PolyPolygon so the points of the polygon scale and offset properly. Change-Id: If6e21d1ac0544b45ef68073cf14bcc08c1d7dbef Reviewed-on: https://gerrit.libreoffice.org/30982 Tested-by: Jenkins Reviewed-by: Mark Hung --- sd/qa/unit/data/odp/tdf59046.odp | Bin 0 -> 10800 bytes sd/qa/unit/export-tests-ooxml2.cxx | 12 ++++++++++++ 2 files changed, 12 insertions(+) create mode 100755 sd/qa/unit/data/odp/tdf59046.odp (limited to 'sd') diff --git a/sd/qa/unit/data/odp/tdf59046.odp b/sd/qa/unit/data/odp/tdf59046.odp new file mode 100755 index 000000000000..5c56acb95c76 Binary files /dev/null and b/sd/qa/unit/data/odp/tdf59046.odp differ diff --git a/sd/qa/unit/export-tests-ooxml2.cxx b/sd/qa/unit/export-tests-ooxml2.cxx index 26e5685b1f40..05ef4aa700aa 100644 --- a/sd/qa/unit/export-tests-ooxml2.cxx +++ b/sd/qa/unit/export-tests-ooxml2.cxx @@ -102,6 +102,7 @@ public: void testAuthorField(); void testTdf99224(); void testTdf92076(); + void testTdf59046(); CPPUNIT_TEST_SUITE(SdOOXMLExportTest2); @@ -127,6 +128,7 @@ public: CPPUNIT_TEST(testAuthorField); CPPUNIT_TEST(testTdf99224); CPPUNIT_TEST(testTdf92076); + CPPUNIT_TEST(testTdf59046); CPPUNIT_TEST_SUITE_END(); @@ -747,6 +749,16 @@ void SdOOXMLExportTest2::testTdf92076() xShell->DoClose(); } +void SdOOXMLExportTest2::testTdf59046() +{ + sd::DrawDocShellRef xShell = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/odp/tdf59046.odp"), ODP); + utl::TempFile tempFile; + xShell = saveAndReload(xShell.get(), PPTX, &tempFile); + xShell->DoClose(); + xmlDocPtr pXmlDocRels = parseExport(tempFile, "ppt/slides/slide1.xml"); + assertXPath(pXmlDocRels, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:custGeom/a:pathLst/a:path", 1); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdOOXMLExportTest2); CPPUNIT_PLUGIN_IMPLEMENT(); -- cgit