sd/qa/unit/data/pptx/tdf111863.pptx |binary sd/qa/unit/export-tests-ooxml2.cxx | 15 +++++++++++++++ sd/source/filter/eppt/pptx-epptooxml.cxx | 21 +++++++++++---------- 3 files changed, 26 insertions(+), 10 deletions(-)
New commits: commit f30016d6c72e5056148e08777fb8777ffb8ad791 Author: Aron Budea <aron.bu...@collabora.com> Date: Thu Sep 14 07:59:15 2017 +0200 tdf#111863: Animations turned from out to in during PPTX export animEffect element's transition attribute was filled from XTransitionFilter's Direction attribute, while it should have been Mode. Reviewed-on: https://gerrit.libreoffice.org/42261 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> (cherry picked from commit 1ea4496f3b2defaf51391e816d159717c55f2929) Change-Id: I40be0311a7b7ffc64ac3a97a92a3ea835faa5293 Reviewed-on: https://gerrit.libreoffice.org/42825 Reviewed-by: Aron Budea <aron.bu...@collabora.com> Tested-by: Aron Budea <aron.bu...@collabora.com> diff --git a/sd/qa/unit/data/pptx/tdf111863.pptx b/sd/qa/unit/data/pptx/tdf111863.pptx new file mode 100644 index 000000000000..19579ada5aaf Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf111863.pptx differ diff --git a/sd/qa/unit/export-tests-ooxml2.cxx b/sd/qa/unit/export-tests-ooxml2.cxx index 2bdaa14d1691..9a19c6ec80fc 100644 --- a/sd/qa/unit/export-tests-ooxml2.cxx +++ b/sd/qa/unit/export-tests-ooxml2.cxx @@ -106,6 +106,7 @@ public: void testTdf92076(); void testTdf59046(); void testTdf105739(); + void testTdf111863(); void testTdf111518(); void testTdf106867(); void testTdf112280(); @@ -143,6 +144,7 @@ public: CPPUNIT_TEST(testTdf92076); CPPUNIT_TEST(testTdf59046); CPPUNIT_TEST(testTdf105739); + CPPUNIT_TEST(testTdf111863); CPPUNIT_TEST(testTdf111518); CPPUNIT_TEST(testTdf106867); CPPUNIT_TEST(testTdf112280); @@ -813,6 +815,19 @@ void SdOOXMLExportTest2::testTdf105739() xShell->DoClose(); } +void SdOOXMLExportTest2::testTdf111863() +{ + sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("sd/qa/unit/data/pptx/tdf111863.pptx"), PPTX); + utl::TempFile tempFile; + xDocShRef = saveAndReload(xDocShRef.get(), PPTX, &tempFile); + xDocShRef->DoClose(); + + // check that transition attribute didn't change from 'out' to 'in' + xmlDocPtr pXmlDocContent = parseExport(tempFile, "ppt/slides/slide1.xml"); + assertXPath(pXmlDocContent, "/p:sld/p:timing/p:tnLst/p:par/p:cTn/p:childTnLst/p:seq/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:par/p:cTn/p:childTnLst/p:animEffect", + "transition", "out"); +} + void SdOOXMLExportTest2::testTdf111518() { sd::DrawDocShellRef xShell = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/tdf111518.pptx"), PPTX); diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx b/sd/source/filter/eppt/pptx-epptooxml.cxx index 394ed1b4eb15..f8f22e78656b 100644 --- a/sd/source/filter/eppt/pptx-epptooxml.cxx +++ b/sd/source/filter/eppt/pptx-epptooxml.cxx @@ -1454,18 +1454,19 @@ void PowerPointExport::WriteAnimationNodeSeq( const FSHelperPtr& pFS, const Refe void PowerPointExport::WriteAnimationNodeEffect( const FSHelperPtr& pFS, const Reference< XAnimationNode >& rXNode, sal_Int32, bool bMainSeqChild ) { SAL_INFO("sd.eppt", "write animation node FILTER"); - Reference< XTransitionFilter > xFilter( rXNode, UNO_QUERY ); - if ( xFilter.is() ) { - const char* pFilter = ::ppt::AnimationExporter::FindTransitionName( xFilter->getTransition(), xFilter->getSubtype(), xFilter->getDirection() ); - const char* pDirection = xFilter->getDirection() ? "in" : "out"; - pFS->startElementNS( XML_p, XML_animEffect, - XML_filter, pFilter, - XML_transition, pDirection, - FSEND ); + Reference< XTransitionFilter > xFilter(rXNode, UNO_QUERY); + if (xFilter.is()) + { + const char* pFilter = ::ppt::AnimationExporter::FindTransitionName(xFilter->getTransition(), xFilter->getSubtype(), xFilter->getDirection()); + const char* pMode = xFilter->getMode() ? "in" : "out"; + pFS->startElementNS(XML_p, XML_animEffect, + XML_filter, pFilter, + XML_transition, pMode, + FSEND); - WriteAnimationNodeAnimateInside( pFS, rXNode, bMainSeqChild, false ); + WriteAnimationNodeAnimateInside( pFS, rXNode, bMainSeqChild, false ); - pFS->endElementNS( XML_p, XML_animEffect ); + pFS->endElementNS( XML_p, XML_animEffect ); } }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits