oox/source/export/drawingml.cxx | 2 +- sd/qa/unit/data/pptx/tdf128213.pptx |binary sd/qa/unit/export-tests-ooxml2.cxx | 12 ++++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-)
New commits: commit 9f3b85dc29326e779ccc6be3b649b7fb24571ee0 Author: Gülşah Köse <gulsah.k...@collabora.com> AuthorDate: Thu Nov 5 14:19:03 2020 +0300 Commit: Gülşah Köse <gulsah.k...@collabora.com> CommitDate: Thu Nov 5 17:05:46 2020 +0100 tdf#128213 Fix export rotation problem. Export code has written for case that we have normal rotation angle and camera z rotation together. If object has not normal rotation but have camera z rotation, problem occurs. Camera z rotation info is already exist between <scene3d> tags. If we have not <xfrm rot="..."> (normal rotation angle) we shouldn't add camera rotation here. Change-Id: I1819953c937783d30b6e7ced978758300bb56d7e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105341 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.k...@collabora.com> diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index 8908af370e0b..d8615d79300e 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -1747,7 +1747,7 @@ void DrawingML::WriteShapeTransformation( const Reference< XShape >& rXShape, sa if (xPropertySetInfo->hasPropertyByName("RotateAngle")) xPropertySet->getPropertyValue("RotateAngle") >>= nRotation; // tdf#133037: restore original rotate angle before output - if (xPropertySetInfo->hasPropertyByName(UNO_NAME_MISC_OBJ_INTEROPGRABBAG)) + if (nRotation != 0 && xPropertySetInfo->hasPropertyByName(UNO_NAME_MISC_OBJ_INTEROPGRABBAG)) { uno::Sequence<beans::PropertyValue> aGrabBagProps; xPropertySet->getPropertyValue(UNO_NAME_MISC_OBJ_INTEROPGRABBAG) >>= aGrabBagProps; diff --git a/sd/qa/unit/data/pptx/tdf128213.pptx b/sd/qa/unit/data/pptx/tdf128213.pptx new file mode 100644 index 000000000000..1f308128c367 Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf128213.pptx differ diff --git a/sd/qa/unit/export-tests-ooxml2.cxx b/sd/qa/unit/export-tests-ooxml2.cxx index 9f967b7963b9..e71c4f5ec904 100644 --- a/sd/qa/unit/export-tests-ooxml2.cxx +++ b/sd/qa/unit/export-tests-ooxml2.cxx @@ -193,6 +193,7 @@ public: void testTdf127379(); void testTdf98603(); void testTdf79082(); + void testTdf128213(); void testTdf129372(); void testShapeGlowEffect(); void testTdf119087(); @@ -312,6 +313,7 @@ public: CPPUNIT_TEST(testTdf127379); CPPUNIT_TEST(testTdf98603); CPPUNIT_TEST(testTdf79082); + CPPUNIT_TEST(testTdf128213); CPPUNIT_TEST(testTdf129372); CPPUNIT_TEST(testShapeGlowEffect); CPPUNIT_TEST(testTdf119087); @@ -2842,6 +2844,16 @@ void SdOOXMLExportTest2::testTdf98603() CPPUNIT_ASSERT_EQUAL(OUString("IL"), aLocale.Country); } +void SdOOXMLExportTest2::testTdf128213() +{ + ::sd::DrawDocShellRef xDocShRef = loadURL( m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/tdf128213.pptx"), PPTX); + utl::TempFile tempFile; + xDocShRef = saveAndReload( xDocShRef.get(), PPTX, &tempFile ); + + xmlDocUniquePtr pXmlDocContent = parseExport(tempFile, "ppt/slides/slide1.xml"); + assertXPathNoAttribute(pXmlDocContent, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:xfrm", "rot"); +} + void SdOOXMLExportTest2::testTdf79082() { ::sd::DrawDocShellRef xDocShRef = loadURL( m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/tdf79082.pptx"), PPTX); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits