Update to m13
[ooovba.git] / applied_patches / 0835-pptx-export-empty-animations-node-and-groupshape-fix.diff
blobc5496bacc3a49e9ac46d18a2651a6b3fe9a1c29b
1 # For the purpose of the 3.1 release, instead of sharing the binary and ooxml
2 # export, we introduce a separate sc/source/filter/xlsx that creates libxlsx -
3 # a filter for the XLSX files. After the release, the changes will be
4 # reverted so that the binary and ooxml are shared again.
5 # The changes include:
6 # sc/source/filter/eppt/* -> sc/source/filter/pptx/pptx-*
7 diff --git sd/source/filter/eppt/epptooxml.cxx sd/source/filter/eppt/epptooxml.cxx
8 index 40b318d..50862df 100644
9 --- sd/source/filter/pptx/pptx-epptooxml.cxx
10 +++ sd/source/filter/pptx/pptx-epptooxml.cxx
11 @@ -172,17 +172,13 @@ ShapeExport& PowerPointShapeExport::WriteUnknownShape( Reference< XShape > xShap
13 DBG(printf( "shape(unknown): %s\n", USS(sShapeType) ));
15 - if( sShapeType.equalsAscii( "com.sun.star.drawing.Group" ) )
16 + if( sShapeType.equalsAscii( "com.sun.star.drawing.GroupShape" ) )
18 Reference< XIndexAccess > rXIndexAccess( xShape, UNO_QUERY );
20 mrExport.EnterGroup( rXIndexAccess );
21 DBG(printf( "enter group\n" ));
23 - else if( sShapeType.equalsAscii( "com.sun.star.drawing.Group" ) )
24 - {
25 - WritePageShape( xShape, mePageType, mrExport.GetPresObj() );
26 - }
27 else if( sShapeType.equalsAscii( "com.sun.star.drawing.PageShape" ) )
29 WritePageShape( xShape, mePageType, mrExport.GetPresObj() );
30 @@ -1059,18 +1055,26 @@ void PowerPointExport::WriteAnimationNode( FSHelperPtr pFS, const Reference< XAn
32 void PowerPointExport::WriteAnimations( FSHelperPtr pFS )
34 - pFS->startElementNS( XML_p, XML_timing, FSEND );
35 - pFS->startElementNS( XML_p, XML_tnLst, FSEND );
37 Reference< XAnimationNodeSupplier > xNodeSupplier( mXDrawPage, UNO_QUERY );
38 if( xNodeSupplier.is() ) {
39 const Reference< XAnimationNode > xNode( xNodeSupplier->getAnimationNode() );
40 - if( xNode.is() )
41 - WriteAnimationNode( pFS, xNode, FALSE );
42 - }
43 + if( xNode.is() ) {
44 + Reference< XEnumerationAccess > xEnumerationAccess( xNode, UNO_QUERY );
45 + if( xEnumerationAccess.is() ) {
46 + Reference< XEnumeration > xEnumeration( xEnumerationAccess->createEnumeration(), UNO_QUERY );
47 + if( xEnumeration.is() && xEnumeration->hasMoreElements() ) {
49 + pFS->startElementNS( XML_p, XML_timing, FSEND );
50 + pFS->startElementNS( XML_p, XML_tnLst, FSEND );
52 - pFS->endElementNS( XML_p, XML_tnLst );
53 - pFS->endElementNS( XML_p, XML_timing );
54 + WriteAnimationNode( pFS, xNode, FALSE );
56 + pFS->endElementNS( XML_p, XML_tnLst );
57 + pFS->endElementNS( XML_p, XML_timing );
58 + }
59 + }
60 + }
61 + }
64 void PowerPointExport::ImplWriteSlide( sal_uInt32 nPageNum, sal_uInt32 nMasterNum, sal_uInt16 /* nMode */,