diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2018-03-15 17:17:21 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-03-27 15:08:47 +0200 |
commit | f27c853357cf693cd90c0539abfdc7a1895d4992 (patch) | |
tree | 94a4c19c94fb1ad56f8b1990196bae191fd72b2d /sd/source | |
parent | 79d646a222c81b1622d45b69a99a460f0b259924 (diff) |
tdf#104786 Don't export empty 'to'
Change-Id: I16b573fd6455813c6be5c2f5a0f0a820360a239f
Reviewed-on: https://gerrit.libreoffice.org/51359
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/51456
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
(cherry picked from commit 16d316c912ef0ebbab30c66f2df898a407ca5c86)
Diffstat (limited to 'sd/source')
-rw-r--r-- | sd/source/filter/eppt/epptooxml.hxx | 2 | ||||
-rw-r--r-- | sd/source/filter/eppt/pptx-epptooxml.cxx | 25 |
2 files changed, 18 insertions, 9 deletions
diff --git a/sd/source/filter/eppt/epptooxml.hxx b/sd/source/filter/eppt/epptooxml.hxx index fb8617491936..8987fddbdb8f 100644 --- a/sd/source/filter/eppt/epptooxml.hxx +++ b/sd/source/filter/eppt/epptooxml.hxx @@ -114,7 +114,7 @@ protected: void WriteAnimationNodeEffect( const ::sax_fastparser::FSHelperPtr& pFS, const css::uno::Reference< css::animations::XAnimationNode >& rXNode, sal_Int32 nXmlNodeType, bool bMainSeqChild ); void WriteAnimationNodeCommand(const ::sax_fastparser::FSHelperPtr& pFS, const css::uno::Reference< css::animations::XAnimationNode >& rXNode, sal_Int32 nXmlNodeType, bool bMainSeqChild ); void WriteAnimationNodeCommonPropsStart( const ::sax_fastparser::FSHelperPtr& pFS, const css::uno::Reference< css::animations::XAnimationNode >& rXNode, bool bSingle, bool bMainSeqChild ); - static void WriteAnimationProperty( const ::sax_fastparser::FSHelperPtr& pFS, const css::uno::Any& rAny ); + static void WriteAnimationProperty( const ::sax_fastparser::FSHelperPtr& pFS, const css::uno::Any& rAny, sal_Int32 nToken = 0 ); void WriteAnimationTarget( const ::sax_fastparser::FSHelperPtr& pFS, const css::uno::Any& rTarget ); bool WriteComments( sal_uInt32 nPageNum ); void ImplWriteBackground( const ::sax_fastparser::FSHelperPtr& pFS, const css::uno::Reference< css::beans::XPropertySet >& aXBackgroundPropSet ); diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx b/sd/source/filter/eppt/pptx-epptooxml.cxx index ca50427f4bab..f44121b1c967 100644 --- a/sd/source/filter/eppt/pptx-epptooxml.cxx +++ b/sd/source/filter/eppt/pptx-epptooxml.cxx @@ -885,7 +885,7 @@ void PowerPointExport::WriteTransition( const FSHelperPtr& pFS ) } } -void PowerPointExport::WriteAnimationProperty( const FSHelperPtr& pFS, const Any& rAny ) +void PowerPointExport::WriteAnimationProperty(const FSHelperPtr& pFS, const Any& rAny, sal_Int32 nToken) { if( !rAny.hasValue() ) return; @@ -893,7 +893,17 @@ void PowerPointExport::WriteAnimationProperty( const FSHelperPtr& pFS, const Any sal_uInt32 nRgb; double fDouble; - switch( rAny.getValueType().getTypeClass() ) { + uno::TypeClass aClass = rAny.getValueType().getTypeClass(); + bool bWriteToken = nToken && + ( aClass == TypeClass_LONG + || aClass == TypeClass_DOUBLE + || aClass == TypeClass_STRING ); + + if (bWriteToken) + pFS->startElementNS(XML_p, XML_to, FSEND); + + switch (rAny.getValueType().getTypeClass()) + { case TypeClass_LONG: rAny >>= nRgb; pFS->singleElementNS(XML_a, XML_srgbClr, @@ -914,6 +924,9 @@ void PowerPointExport::WriteAnimationProperty( const FSHelperPtr& pFS, const Any default: break; } + + if (bWriteToken) + pFS->endElementNS(XML_p, nToken); } void PowerPointExport::WriteAnimateValues( const FSHelperPtr& pFS, const Reference< XAnimate >& rXAnimate ) @@ -959,18 +972,14 @@ void PowerPointExport::WriteAnimateTo( const FSHelperPtr& pFS, const Any& rValue SAL_INFO("sd.eppt", "to attribute name: " << USS(rAttributeName)); - pFS->startElementNS( XML_p, XML_to, FSEND ); - sal_uInt32 nColor; if (rValue >>= nColor) { // RGB color - WriteAnimationProperty(pFS, rValue); + WriteAnimationProperty(pFS, rValue, XML_to); } else - WriteAnimationProperty(pFS, AnimationExporter::convertAnimateValue(rValue, rAttributeName)); - - pFS->endElementNS( XML_p, XML_to ); + WriteAnimationProperty(pFS, AnimationExporter::convertAnimateValue(rValue, rAttributeName), XML_to); } void PowerPointExport::WriteAnimationAttributeName( const FSHelperPtr& pFS, const OUString& rAttributeName ) |