oox/source/export/drawingml.cxx | 2 +- sd/qa/unit/data/pptx/tdf128952.pptx |binary sd/qa/unit/export-tests-ooxml1.cxx | 17 +++++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-)
New commits: commit 2dc030922eb7991befcc9ea02ef2e400fca65141 Author: Gülşah Köse <gulsah.k...@collabora.com> AuthorDate: Fri Nov 22 14:05:24 2019 +0300 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Fri Nov 22 23:18:55 2019 +0100 tdf#128952 Set the position of shape for 180 deg. If the rotation value is 180, 540, 900... degree with mirror pShape->GetRotateAngle() returns 0. In that control 0 means no rotation but that is not true. For that cases (180, 540, 900) after the angle conversition GetRotateAngle() returns 0. We should recalculate the position for 0 too. Change-Id: I14e981235b2d6cd8382d4c9e151bccd2e73a3fd9 Reviewed-on: https://gerrit.libreoffice.org/83468 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.k...@collabora.com> (cherry picked from commit aca2e4d270f472b2cbdb9084a55f1855529ea705) Reviewed-on: https://gerrit.libreoffice.org/83535 Reviewed-by: Andras Timar <andras.ti...@collabora.com> diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index 60b674287a43..9e5b3f2648f4 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -1621,7 +1621,7 @@ void DrawingML::WriteShapeTransformation( const Reference< XShape >& rXShape, sa { SdrObject* pShape = GetSdrObjectFromXShape( rXShape ); nRotation = pShape ? pShape->GetRotateAngle() : 0; - if ( nRotation != 0 && GetDocumentType() != DOCUMENT_DOCX ) + if ( GetDocumentType() != DOCUMENT_DOCX ) { int faccos=bFlipV ? -1 : 1; int facsin=bFlipH ? -1 : 1; diff --git a/sd/qa/unit/data/pptx/tdf128952.pptx b/sd/qa/unit/data/pptx/tdf128952.pptx new file mode 100644 index 000000000000..242a3ee9ace5 Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf128952.pptx differ diff --git a/sd/qa/unit/export-tests-ooxml1.cxx b/sd/qa/unit/export-tests-ooxml1.cxx index a0cd3b837af3..6048cb850e2e 100644 --- a/sd/qa/unit/export-tests-ooxml1.cxx +++ b/sd/qa/unit/export-tests-ooxml1.cxx @@ -103,6 +103,7 @@ public: void testParaMarginAndindentation(); void testTdf111884(); void testTdf112633(); + void testTdf128952(); void testCustomXml(); void testTdf94238(); void testPictureTransparency(); @@ -136,6 +137,7 @@ public: CPPUNIT_TEST(testParaMarginAndindentation); CPPUNIT_TEST(testTdf111884); CPPUNIT_TEST(testTdf112633); + CPPUNIT_TEST(testTdf128952); CPPUNIT_TEST(testCustomXml); CPPUNIT_TEST(testTdf94238); CPPUNIT_TEST(testTdf125554); @@ -829,6 +831,21 @@ void SdOOXMLExportTest1::testTdf112633() CPPUNIT_ASSERT_EQUAL(true, bool(xNameAccess->hasByName("ppt/media/hdphoto1.wdp"))); } +void SdOOXMLExportTest1::testTdf128952() +{ + ::sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("sd/qa/unit/data/pptx/tdf128952.pptx"), PPTX); + utl::TempFile tempFile; + xDocShRef = saveAndReload(xDocShRef.get(), PPTX, &tempFile); + xDocShRef->DoClose(); + + xmlDocPtr pXmlDoc = parseExport(tempFile, "ppt/slides/slide1.xml"); + + assertXPath(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:xfrm/a:off", "x", "360"); + assertXPath(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:xfrm/a:off", "y", "-360"); + assertXPath(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:xfrm/a:ext", "cx", "1919880"); + assertXPath(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:xfrm/a:ext", "cy", "1462680"); +} + void SdOOXMLExportTest1::testCustomXml() { // Load document and export it to a temporary file _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits