summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorKatarina Machalkova <kmachalkova@suse.cz>2010-10-19 16:32:02 +0200
committerKatarina Machalkova <kmachalkova@suse.cz>2010-10-19 16:32:02 +0200
commit682dcfecbbdc8ba1bc03e8740b153b53c01cb556 (patch)
tree24e854d746ca2e58ff0b885c2b1532d3cf89af62 /sd
parent17177e320d53f30ad1397051f3e13b402e4e0361 (diff)
Merged pptx-export-empty-animations-node-and-groupshape-fix.diff
Diffstat (limited to 'sd')
-rw-r--r--sd/source/filter/pptx/pptx-epptooxml.cxx30
1 files changed, 17 insertions, 13 deletions
diff --git a/sd/source/filter/pptx/pptx-epptooxml.cxx b/sd/source/filter/pptx/pptx-epptooxml.cxx
index 6b3459e9145d..48ea4a742f09 100644
--- a/sd/source/filter/pptx/pptx-epptooxml.cxx
+++ b/sd/source/filter/pptx/pptx-epptooxml.cxx
@@ -172,17 +172,13 @@ ShapeExport& PowerPointShapeExport::WriteUnknownShape( Reference< XShape > xShap
DBG(printf( "shape(unknown): %s\n", USS(sShapeType) ));
- if( sShapeType.equalsAscii( "com.sun.star.drawing.Group" ) )
+ if( sShapeType.equalsAscii( "com.sun.star.drawing.GroupShape" ) )
{
Reference< XIndexAccess > rXIndexAccess( xShape, UNO_QUERY );
mrExport.EnterGroup( rXIndexAccess );
DBG(printf( "enter group\n" ));
}
- else if( sShapeType.equalsAscii( "com.sun.star.drawing.Group" ) )
- {
- WritePageShape( xShape, mePageType, mrExport.GetPresObj() );
- }
else if( sShapeType.equalsAscii( "com.sun.star.drawing.PageShape" ) )
{
WritePageShape( xShape, mePageType, mrExport.GetPresObj() );
@@ -1059,18 +1055,26 @@ void PowerPointExport::WriteAnimationNode( FSHelperPtr pFS, const Reference< XAn
void PowerPointExport::WriteAnimations( FSHelperPtr pFS )
{
- pFS->startElementNS( XML_p, XML_timing, FSEND );
- pFS->startElementNS( XML_p, XML_tnLst, FSEND );
-
Reference< XAnimationNodeSupplier > xNodeSupplier( mXDrawPage, UNO_QUERY );
if( xNodeSupplier.is() ) {
const Reference< XAnimationNode > xNode( xNodeSupplier->getAnimationNode() );
- if( xNode.is() )
- WriteAnimationNode( pFS, xNode, FALSE );
- }
+ if( xNode.is() ) {
+ Reference< XEnumerationAccess > xEnumerationAccess( xNode, UNO_QUERY );
+ if( xEnumerationAccess.is() ) {
+ Reference< XEnumeration > xEnumeration( xEnumerationAccess->createEnumeration(), UNO_QUERY );
+ if( xEnumeration.is() && xEnumeration->hasMoreElements() ) {
+
+ pFS->startElementNS( XML_p, XML_timing, FSEND );
+ pFS->startElementNS( XML_p, XML_tnLst, FSEND );
- pFS->endElementNS( XML_p, XML_tnLst );
- pFS->endElementNS( XML_p, XML_timing );
+ WriteAnimationNode( pFS, xNode, FALSE );
+
+ pFS->endElementNS( XML_p, XML_tnLst );
+ pFS->endElementNS( XML_p, XML_timing );
+ }
+ }
+ }
+ }
}
void PowerPointExport::ImplWriteSlide( sal_uInt32 nPageNum, sal_uInt32 nMasterNum, sal_uInt16 /* nMode */,