[Libreoffice-commits] .: patches/dev300

Radek Doulík rodo at kemper.freedesktop.org
Fri Oct 8 06:49:44 PDT 2010


 patches/dev300/apply                                            |   24 
 patches/dev300/oox-fix-list-style-apply.diff                    |   13 
 patches/dev300/oox-import-drawing-font-spacing.diff             |   20 
 patches/dev300/oox-import-fix-ole2-shapes.diff                  |   21 
 patches/dev300/oox-pptx-import-fix-customshapes-and-groups.diff |  104 ---
 patches/dev300/oox-pptx-import-fix-groups-2.diff                |   99 ---
 patches/dev300/oox-pptx-import-fix-layout.diff                  |   69 --
 patches/dev300/oox-pptx-import-fix-placeholder-text-style.diff  |  169 -----
 patches/dev300/oox-pptx-import-fix-text-body-properties.diff    |   49 -
 patches/dev300/oox-pptx-import-fix-transition-auto-advance.diff |  110 ---
 patches/dev300/oox-smartart-import.diff                         |    8 
 patches/dev300/oox-xlsx-import-fix-connector-shape.diff         |    2 
 patches/dev300/pptx-gfx-layout-fix.diff                         |  322 ----------
 13 files changed, 7 insertions(+), 1003 deletions(-)

New commits:
commit 04ae9ad15222b630eb1ae237b035215d1fc9bd47
Author: Radek Doulik <rodo at novell.com>
Date:   Fri Oct 8 15:37:22 2010 +0200

    pptx import patches merged to rawbuild

diff --git a/patches/dev300/apply b/patches/dev300/apply
index b526637..0c1ce5f 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -1546,8 +1546,6 @@ buildfix-oox-depends-on-unotools.diff
 
 # FIXME dev300-m83 oox-fix-placeholder-layout.diff, n#485316, n#480223, rodo
 
-oox-fix-list-style-apply.diff, n#485417, rodo
-
 # FIXME: 2009-09-02: Applies but causes compilation errors. --tml
 # oox-import-chart-externalref.diff, n#480868, janneke
 
@@ -1571,20 +1569,8 @@ oox-xlsx-import-fix-connector-shape.diff, n#549331, Fong
 # FIXME_ 2009-09-02: Applies but causes compilation errors. --tml
 # oox-import-sheet-protect.diff, n#481317, janneke
 
-oox-import-drawing-font-spacing.diff, n#479822, rodo
 # FIXME dev300-m83 oox-import-text-vert-anchor-and-anchorctr.diff, n#479829, rodo
 
-# FIXME ooo330-m2: this diff has been disabled in dev300-m83; setPlaceholder was included in the upstream m83 source
-#                  setPlaceholder is missing in the upstream ooo330-m2 sources; it seems that they reverted the change
-#                  they also played with some placeholder in pptshape.cxx and commented it out again;
-#		   it seems that upstream added findPlaceholder methods
-#                  so ???
-#	           pmladek enabled this diff for ooo330-m2 because setPlaceholder was used in more diffs that were enabled with dev300-m83
-oox-pptx-import-fix-layout.diff, n#480223, rodo
-
-[ OpenGLTransitions and OOXML ]
-oox-pptx-import-fix-transition-auto-advance.diff, n#480243, rodo
-
 [ OOXML ]
 # FIXME: 2009-08-12: Does not apply, upstream code refactored, not
 # clear what to do. --tml
@@ -2252,9 +2238,6 @@ pptx-snapshot-at-ooxml03-creation.diff
 pptx-the-rest-from-git.diff
 pptx-export-empty-animations-node-and-groupshape-fix.diff, rodo
 
-# ugly temp fix to make GraphicShapeContext recognise layout
-pptx-gfx-layout-fix.diff, thorsten
-
 # handles case where a connector shape is not connected
 pptx-fix-connector-crash.diff, n#499129, thorsten
 
@@ -2722,7 +2705,6 @@ transogl-transitions-newsflash-pptin.diff
 [ Fixes ]
 sd-pptx-export-build-fix.diff, rodo
 sd-pptx-export-build-fix-2.diff, rodo
-oox-import-fix-ole2-shapes.diff, n#593611, rodo
 svx-fix-layout-build.diff, rodo
 sfx2-style-edit-greyentry.diff, i#85003, simonaw
 
@@ -2733,8 +2715,6 @@ netbook-window-decoration-update.diff, n#621116, rodo
 oox-sc-notes.diff, muthusuba
 
 [ Fixes ]
-oox-pptx-import-fix-customshapes-and-groups.diff, n#621739, rodo
-oox-pptx-import-fix-groups-2.diff, n#619678, rodo
 # soffice process doesn't block ( under linux ) connect
 # to raised office instance instead ( should work for windows too )
 smoketest-officeconnection-fix.diff
@@ -2747,7 +2727,3 @@ sc-single-right.diff, td123
 sd_effects_styles.diff, pixie
 symbols-20-august.diff, i#11167, jopsen
 vEdit-13-August.diff, jopsen
-
-[ OOXML ]
-oox-pptx-import-fix-placeholder-text-style.diff, n#592906, n#479834, rodo
-oox-pptx-import-fix-text-body-properties.diff, n#621744, rodo
diff --git a/patches/dev300/oox-fix-list-style-apply.diff b/patches/dev300/oox-fix-list-style-apply.diff
deleted file mode 100644
index 9d09b95..0000000
--- a/patches/dev300/oox-fix-list-style-apply.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- oox/source/ppt/pptshape.cxx.old	2010-07-22 13:12:44.000000000 +0200
-+++ oox/source/ppt/pptshape.cxx	2010-07-29 21:06:00.000000000 +0200
-@@ -186,8 +186,9 @@ void PPTShape::addShape(
- */
-             if ( sServiceName.getLength() )
-             {
-+            // use style from master slide for placeholders only, otherwise use slide's style, which might be the default style from presentation
-                 if ( !aMasterTextListStyle.get() )
--                    aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getOtherTextStyle() : rSlidePersist.getOtherTextStyle();
-+                    aMasterTextListStyle = ( mnSubType && rSlidePersist.getMasterPersist().get() ) ? rSlidePersist.getMasterPersist()->getOtherTextStyle() : rSlidePersist.getOtherTextStyle();
-                 setMasterTextListStyle( aMasterTextListStyle );
-  
-                 Reference< XShape > xShape( createAndInsert( rFilterBase, sServiceName, pTheme, rxShapes, pShapeRect, bClearText ) );
diff --git a/patches/dev300/oox-import-drawing-font-spacing.diff b/patches/dev300/oox-import-drawing-font-spacing.diff
deleted file mode 100644
index 05514ca..0000000
--- a/patches/dev300/oox-import-drawing-font-spacing.diff
+++ /dev/null
@@ -1,20 +0,0 @@
----
- .../drawingml/textcharacterpropertiescontext.cxx   |    2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git oox/source/drawingml/textcharacterpropertiescontext.cxx oox/source/drawingml/textcharacterpropertiescontext.cxx
-index c74dba5..9fa4851 100644
---- oox/source/drawingml/textcharacterpropertiescontext.cxx
-+++ oox/source/drawingml/textcharacterpropertiescontext.cxx
-@@ -60,6 +60,8 @@ TextCharacterPropertiesContext::TextCharacterPropertiesContext(
-         mrTextCharacterProperties.moLang = aAttribs.getString( XML_lang );
-     if ( aAttribs.hasAttribute( XML_sz ) )
-         mrTextCharacterProperties.moHeight = aAttribs.getInteger( XML_sz );
-+    if ( aAttribs.hasAttribute( XML_spc ) )
-+        mrTextCharacterProperties.moSpacing = aAttribs.getInteger( XML_spc );
-     if ( aAttribs.hasAttribute( XML_u ) )
-         mrTextCharacterProperties.moUnderline = aAttribs.getToken( XML_u );
-     if ( aAttribs.hasAttribute( XML_strike ) )
--- 
-1.7.0.1
-
diff --git a/patches/dev300/oox-import-fix-ole2-shapes.diff b/patches/dev300/oox-import-fix-ole2-shapes.diff
deleted file mode 100644
index 0f00b15..0000000
--- a/patches/dev300/oox-import-fix-ole2-shapes.diff
+++ /dev/null
@@ -1,21 +0,0 @@
----
- oox/source/ppt/pptshape.cxx |    3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git oox/source/ppt/pptshape.cxx oox/source/ppt/pptshape.cxx
-index 48810e2..c24478e 100644
---- oox/source/ppt/pptshape.cxx
-+++ oox/source/ppt/pptshape.cxx
-@@ -83,7 +83,8 @@ void PPTShape::addShape(
-             Reference< lang::XMultiServiceFactory > xServiceFact( rFilterBase.getModel(), UNO_QUERY_THROW );
-             sal_Bool bClearText = sal_False;
- 
--            if ( sServiceName != OUString::createFromAscii( "com.sun.star.drawing.GraphicObjectShape" ) )
-+            if ( sServiceName != OUString::createFromAscii( "com.sun.star.drawing.GraphicObjectShape" ) &&
-+                 sServiceName != OUString::createFromAscii( "com.sun.star.drawing.OLE2Shape" ) )
-             {
-                 switch( mnSubType )
-                 {
--- 
-1.7.0.1
-
diff --git a/patches/dev300/oox-pptx-import-fix-customshapes-and-groups.diff b/patches/dev300/oox-pptx-import-fix-customshapes-and-groups.diff
deleted file mode 100644
index 747837b..0000000
--- a/patches/dev300/oox-pptx-import-fix-customshapes-and-groups.diff
+++ /dev/null
@@ -1,104 +0,0 @@
-diff -rup oox/inc/oox/drawingml/shape.hxx oox-broken-with-changes/inc/oox/drawingml/shape.hxx
---- oox/inc/oox/drawingml/shape.hxx	2010-08-13 18:05:48.000000000 +0200
-+++ oox-broken-with-changes/inc/oox/drawingml/shape.hxx	2010-08-13 13:43:49.000000000 +0200
-@@ -127,6 +127,9 @@ public:
-     void                              setSize( com::sun::star::awt::Size aSize ){ maSize = aSize; }
-     const com::sun::star::awt::Size&  getSize() const { return maSize; }
- 
-+    void                              setChildPosition( com::sun::star::awt::Point nPosition ){ maChPosition = nPosition; }
-+    void                              setChildSize( com::sun::star::awt::Size aSize ){ maChSize = aSize; }
-+
-     void                            setRotation( sal_Int32 nRotation ) { mnRotation = nRotation; }
-     void                            setFlip( sal_Bool bFlipH, sal_Bool bFlipV ) { mbFlipH = bFlipH; mbFlipV = bFlipV; }
-     void                            addChild( const ShapePtr pChildPtr ) { maChildren.push_back( pChildPtr ); }
-@@ -198,6 +201,9 @@ protected:
-                             ShapeIdMap* pShapeMap );
- 
-     std::vector< ShapePtr >     maChildren;               // only used for group shapes
-+    com::sun::star::awt::Size   maChSize;                 // only used for group shapes
-+    com::sun::star::awt::Point  maChPosition;             // only used for group shapes
-+    
-     TextBodyPtr                 mpTextBody;
-     LinePropertiesPtr           mpLinePropertiesPtr;
-     FillPropertiesPtr           mpFillPropertiesPtr;
-diff -rup oox/source/drawingml/customshapegeometry.cxx oox-broken-with-changes/source/drawingml/customshapegeometry.cxx
---- oox/source/drawingml/customshapegeometry.cxx	2010-08-13 18:05:48.000000000 +0200
-+++ oox-broken-with-changes/source/drawingml/customshapegeometry.cxx	2010-08-12 16:09:04.000000000 +0200
-@@ -403,7 +403,7 @@ static EnhancedCustomShapeParameter GetA
-             }
-             if ( ( n >= '0' ) && ( n <= '9' ) )
-             {	// seems to be a ST_Coordinate
--                aRet.Value = Any( rValue.toInt32() );
-+                aRet.Value = Any( (sal_Int32)(rValue.toInt32() / 5) );
-                 aRet.Type = EnhancedCustomShapeParameterType::NORMAL;
-             }
-             else
-diff -rup oox/source/drawingml/customshapeproperties.cxx oox-broken-with-changes/source/drawingml/customshapeproperties.cxx
---- oox/source/drawingml/customshapeproperties.cxx	2010-08-13 18:05:48.000000000 +0200
-+++ oox-broken-with-changes/source/drawingml/customshapeproperties.cxx	2010-08-12 16:20:12.000000000 +0200
-@@ -131,6 +131,11 @@ void CustomShapeProperties::pushToPropSe
-                                         aAdjustmentVal.State = PropertyState_DIRECT_VALUE;
-                                         aAdjustmentSeq[ nAdjustmentIndex ] = aAdjustmentVal;
-                                     }
-+                                } else {
-+                                    EnhancedCustomShapeAdjustmentValue aAdjustmentVal;
-+                                    aAdjustmentVal.Value <<= (*aIter).maFormula.toInt32();
-+                                    aAdjustmentVal.State = PropertyState_DIRECT_VALUE;
-+                                    aAdjustmentSeq[ 0 ] = aAdjustmentVal;
-                                 }
-                                 aIter++;
-                             }
-diff -rup oox/source/drawingml/shape.cxx oox-broken-with-changes/source/drawingml/shape.cxx
---- oox/source/drawingml/shape.cxx	2010-08-13 18:05:48.000000000 +0200
-+++ oox-broken-with-changes/source/drawingml/shape.cxx	2010-08-13 18:06:54.000000000 +0200
-@@ -267,24 +267,14 @@ void Shape::addChildren(
-     {
-         awt::Rectangle aShapeRect;
-         awt::Rectangle* pShapeRect = 0;
--        if ( ( nGlobalLeft != SAL_MAX_INT32 ) && ( nGlobalRight != SAL_MIN_INT32 ) && ( nGlobalTop != SAL_MAX_INT32 ) && ( nGlobalBottom != SAL_MIN_INT32 ) )
--        {
--            sal_Int32 nGlobalWidth = nGlobalRight - nGlobalLeft;
--            sal_Int32 nGlobalHeight = nGlobalBottom - nGlobalTop;
--            if ( nGlobalWidth && nGlobalHeight )
--            {
--                double fWidth = (*aIter)->maSize.Width;
--                double fHeight= (*aIter)->maSize.Height;
--                double fXScale = (double)rClientRect.Width / (double)nGlobalWidth;
--                double fYScale = (double)rClientRect.Height / (double)nGlobalHeight;
--                aShapeRect.X = static_cast< sal_Int32 >( ( ( (*aIter)->maPosition.X - nGlobalLeft ) * fXScale ) + rClientRect.X );
--                aShapeRect.Y = static_cast< sal_Int32 >( ( ( (*aIter)->maPosition.Y - nGlobalTop  ) * fYScale ) + rClientRect.Y );
--                fWidth *= fXScale;
--                fHeight *= fYScale;
--                aShapeRect.Width = static_cast< sal_Int32 >( fWidth );
--                aShapeRect.Height = static_cast< sal_Int32 >( fHeight );
--                pShapeRect = &aShapeRect;
--            }
-+        Shape& rChild = *(*aIter);
-+
-+        if ( rChild.maSize.Width != maSize.Width || rChild.maSize.Height != maSize.Height || rChild.maPosition.X != maPosition.X || rChild.maPosition.Y != maPosition.Y ) {
-+            aShapeRect.X = maPosition.X + rChild.maPosition.X - maChPosition.X;
-+            aShapeRect.Y = maPosition.Y + rChild.maPosition.Y - maChPosition.Y;
-+            aShapeRect.Width = maSize.Width + rChild.maSize.Width - maChSize.Width;
-+            aShapeRect.Height = maSize.Height + rChild.maSize.Height - maChSize.Height;
-+            pShapeRect = &aShapeRect;
-         }
-         (*aIter++)->addShape( rFilterBase, pTheme, rxShapes, pShapeRect, pShapeMap );
-     }
-diff -rup oox/source/drawingml/transform2dcontext.cxx oox-broken-with-changes/source/drawingml/transform2dcontext.cxx
---- oox/source/drawingml/transform2dcontext.cxx	2010-08-13 18:05:47.000000000 +0200
-+++ oox-broken-with-changes/source/drawingml/transform2dcontext.cxx	2010-08-13 13:42:16.000000000 +0200
-@@ -64,11 +64,12 @@ Reference< XFastContextHandler > Transfo
-     case NMSP_DRAWINGML|XML_ext:		// horz/vert size
-         mrShape.setSize( Size( xAttribs->getOptionalValue( XML_cx ).toInt32(), xAttribs->getOptionalValue( XML_cy ).toInt32() ) );
-         break;
--/* todo: what to do?
-     case NMSP_DRAWINGML|XML_chOff:	// horz/vert translation of children
-+        mrShape.setChildPosition( Point( xAttribs->getOptionalValue( XML_x ).toInt32(), xAttribs->getOptionalValue( XML_y ).toInt32() ) );
-+        break;
-     case NMSP_DRAWINGML|XML_chExt:	// horz/vert size of children
-+        mrShape.setChildSize( Size( xAttribs->getOptionalValue( XML_cx ).toInt32(), xAttribs->getOptionalValue( XML_cy ).toInt32() ) );
-         break;
--*/
-     }
- 
-     return 0;
diff --git a/patches/dev300/oox-pptx-import-fix-groups-2.diff b/patches/dev300/oox-pptx-import-fix-groups-2.diff
deleted file mode 100644
index 010ec6d..0000000
--- a/patches/dev300/oox-pptx-import-fix-groups-2.diff
+++ /dev/null
@@ -1,99 +0,0 @@
-diff -rup ../ooo330-m2-orig/oox/inc/oox/drawingml/shape.hxx oox/inc/oox/drawingml/shape.hxx
---- ../ooo330-m2-orig/oox/inc/oox/drawingml/shape.hxx	2010-08-24 20:25:50.000000000 +0200
-+++ oox/inc/oox/drawingml/shape.hxx	2010-08-24 12:41:18.000000000 +0200
-@@ -203,6 +203,9 @@ protected:
-     std::vector< ShapePtr >     maChildren;               // only used for group shapes
-     com::sun::star::awt::Size   maChSize;                 // only used for group shapes
-     com::sun::star::awt::Point  maChPosition;             // only used for group shapes
-+    com::sun::star::awt::Size   maAbsoluteSize;           // only used for group shapes
-+    com::sun::star::awt::Point  maAbsolutePosition;       // only used for group shapes
-+    sal_Bool                    mbIsChild;
-     
-     TextBodyPtr                 mpTextBody;
-     LinePropertiesPtr           mpLinePropertiesPtr;
-diff -rup ../ooo330-m2-orig/oox/source/drawingml/shape.cxx oox/source/drawingml/shape.cxx
---- ../ooo330-m2-orig/oox/source/drawingml/shape.cxx	2010-08-24 20:25:50.000000000 +0200
-+++ oox/source/drawingml/shape.cxx	2010-08-25 10:52:08.000000000 +0200
-@@ -88,7 +88,8 @@ void CreateShapeCallback::onXShapeCreate
- // ============================================================================
- 
- Shape::Shape( const sal_Char* pServiceName )
--: mpLinePropertiesPtr( new LineProperties )
-+: mbIsChild( false )
-+, mpLinePropertiesPtr( new LineProperties )
- , mpFillPropertiesPtr( new FillProperties )
- , mpGraphicPropertiesPtr( new GraphicProperties )
- , mpCustomShapePropertiesPtr( new CustomShapeProperties )
-@@ -107,6 +108,7 @@ Shape::Shape( const sal_Char* pServiceNa
- 
- Shape::Shape( const ShapePtr& pSourceShape )
- : maChildren()
-+, mbIsChild( pSourceShape->mbIsChild )
- , mpTextBody(pSourceShape->mpTextBody)
- , mpLinePropertiesPtr( pSourceShape->mpLinePropertiesPtr )
- , mpFillPropertiesPtr( pSourceShape->mpFillPropertiesPtr )
-@@ -237,45 +239,34 @@ void Shape::addChildren(
-         Shape& rMaster,
-         const Theme* pTheme,
-         const Reference< XShapes >& rxShapes,
--        const awt::Rectangle& rClientRect,
-+        const awt::Rectangle&,
-         ShapeIdMap* pShapeMap )
- {
--    // first the global child union needs to be calculated
--    sal_Int32 nGlobalLeft  = SAL_MAX_INT32;
--    sal_Int32 nGlobalRight = SAL_MIN_INT32;
--    sal_Int32 nGlobalTop   = SAL_MAX_INT32;
--    sal_Int32 nGlobalBottom= SAL_MIN_INT32;
-+    awt::Point& aPosition( mbIsChild ? maAbsolutePosition : maPosition );
-+    awt::Size& aSize( mbIsChild ? maAbsoluteSize : maSize );
-+
-     std::vector< ShapePtr >::iterator aIter( rMaster.maChildren.begin() );
-     while( aIter != rMaster.maChildren.end() )
-     {
--        sal_Int32 l = (*aIter)->maPosition.X;
--        sal_Int32 t = (*aIter)->maPosition.Y;
--        sal_Int32 r = l + (*aIter)->maSize.Width;
--        sal_Int32 b = t + (*aIter)->maSize.Height;
--        if ( nGlobalLeft > l )
--            nGlobalLeft = l;
--        if ( nGlobalRight < r )
--            nGlobalRight = r;
--        if ( nGlobalTop > t )
--            nGlobalTop = t;
--        if ( nGlobalBottom < b )
--            nGlobalBottom = b;
--        aIter++;
--    }
--    aIter = rMaster.maChildren.begin();
--    while( aIter != rMaster.maChildren.end() )
--    {
-         awt::Rectangle aShapeRect;
-         awt::Rectangle* pShapeRect = 0;
-         Shape& rChild = *(*aIter);
- 
--        if ( rChild.maSize.Width != maSize.Width || rChild.maSize.Height != maSize.Height || rChild.maPosition.X != maPosition.X || rChild.maPosition.Y != maPosition.Y ) {
--            aShapeRect.X = maPosition.X + rChild.maPosition.X - maChPosition.X;
--            aShapeRect.Y = maPosition.Y + rChild.maPosition.Y - maChPosition.Y;
--            aShapeRect.Width = maSize.Width + rChild.maSize.Width - maChSize.Width;
--            aShapeRect.Height = maSize.Height + rChild.maSize.Height - maChSize.Height;
--            pShapeRect = &aShapeRect;
--        }
-+        double sx = ((double)aSize.Width)/maChSize.Width;
-+        double sy = ((double)aSize.Height)/maChSize.Height;
-+        rChild.maAbsolutePosition.X = aPosition.X + sx*(rChild.maPosition.X - maChPosition.X);
-+        rChild.maAbsolutePosition.Y = aPosition.Y + sy*(rChild.maPosition.Y - maChPosition.Y);
-+        rChild.maAbsoluteSize.Width = rChild.maSize.Width*sx;
-+        rChild.maAbsoluteSize.Height = rChild.maSize.Height*sy;
-+        rChild.mbIsChild = true;
-+
-+        aShapeRect.X = rChild.maAbsolutePosition.X;
-+        aShapeRect.Y = rChild.maAbsolutePosition.Y;
-+        aShapeRect.Width = rChild.maAbsoluteSize.Width;
-+        aShapeRect.Height = rChild.maAbsoluteSize.Height;
-+
-+        pShapeRect = &aShapeRect;
-+
-         (*aIter++)->addShape( rFilterBase, pTheme, rxShapes, pShapeRect, pShapeMap );
-     }
- }
diff --git a/patches/dev300/oox-pptx-import-fix-layout.diff b/patches/dev300/oox-pptx-import-fix-layout.diff
deleted file mode 100644
index 9388e47..0000000
--- a/patches/dev300/oox-pptx-import-fix-layout.diff
+++ /dev/null
@@ -1,69 +0,0 @@
-From 27993a4a0b42f275413f47c8e6c34b3d266d18fb Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:00:47 +0200
-Subject: [PATCH 366/768] oox-pptx-import-fix-layout.diff
-
----
- oox/inc/oox/ppt/pptshape.hxx       |    2 ++
- oox/source/ppt/pptshape.cxx        |   14 ++++++++++++++
- oox/source/ppt/pptshapecontext.cxx |    1 +
- 3 files changed, 17 insertions(+), 0 deletions(-)
-
-diff --git oox/inc/oox/ppt/pptshape.hxx oox/inc/oox/ppt/pptshape.hxx
-index a3c1384..f001e03 100644
---- oox/inc/oox/ppt/pptshape.hxx
-+++ oox/inc/oox/ppt/pptshape.hxx
-@@ -61,10 +61,15 @@ public:
-     ShapeLocation getShapeLocation() const { return meShapeLocation; };
-     sal_Bool isReferenced() const { return mbReferenced; };
-     void setReferenced( sal_Bool bReferenced ){ mbReferenced = bReferenced; };
-+    void setPlaceholder( oox::drawingml::ShapePtr pPlaceholder ) { mpPlaceholder = pPlaceholder; }
- 
-     static oox::drawingml::ShapePtr findPlaceholder( const sal_Int32 nMasterPlaceholder, std::vector< oox::drawingml::ShapePtr >& rShapes );
-     static oox::drawingml::ShapePtr findPlaceholderByIndex( const sal_Int32 nIdx, std::vector< oox::drawingml::ShapePtr >& rShapes );
-     static oox::drawingml::ShapePtr findPlaceholder( sal_Int32 nFirstPlaceholder, sal_Int32 nSecondPlaceholder, std::vector< oox::drawingml::ShapePtr >& rShapes );
-+
-+protected: 
-+
-+    oox::drawingml::ShapePtr mpPlaceholder; 
- };
- 
- } }
-diff --git oox/source/ppt/pptshape.cxx oox/source/ppt/pptshape.cxx
-index 61678d1..548562d 100644
---- oox/source/ppt/pptshape.cxx
-+++ oox/source/ppt/pptshape.cxx
-@@ -167,6 +169,18 @@ void PPTShape::addShape(
-             // use style from master slide for placeholders only, otherwise use slide's style, which might be the default style from presentation
-                 if ( !aMasterTextListStyle.get() )
-                     aMasterTextListStyle = ( mnSubType && rSlidePersist.getMasterPersist().get() ) ? rSlidePersist.getMasterPersist()->getOtherTextStyle() : rSlidePersist.getOtherTextStyle();
-+
-+            if( aMasterTextListStyle.get() && getTextBody().get() ) {
-+                TextListStylePtr aCombinedTextListStyle (new TextListStyle());
-+
-+                aCombinedTextListStyle->apply( *aMasterTextListStyle.get() );
-+
-+                if( mpPlaceholder.get() && mpPlaceholder->getTextBody().get() )
-+                aCombinedTextListStyle->apply( mpPlaceholder->getTextBody()->getTextListStyle() );
-+                aCombinedTextListStyle->apply( getTextBody()->getTextListStyle() );
-+
-+                setMasterTextListStyle( aCombinedTextListStyle );
-+            } else
-                 setMasterTextListStyle( aMasterTextListStyle );
-  
-                 Reference< XShape > xShape( createAndInsert( rFilterBase, sServiceName, pTheme, rxShapes, pShapeRect, bClearText ) );
-diff --git oox/source/ppt/pptshapecontext.cxx oox/source/ppt/pptshapecontext.cxx
-index f198fbd..5f7586b 100644
---- oox/source/ppt/pptshapecontext.cxx
-+++ oox/source/ppt/pptshapecontext.cxx
-@@ -207,6 +207,7 @@ Reference< XFastContextHandler > PPTShapeContext::createFastChildContext( sal_In
-             PPTShape* pPPTShape = dynamic_cast< PPTShape* >( pPlaceholder.get() );
-             if ( pPPTShape )
-               pPPTShape->setReferenced( sal_True );
-+                    pPPTShapePtr->setPlaceholder( pPlaceholder );
-         }
-             }
-         }
--- 
-1.7.0.1
-
diff --git a/patches/dev300/oox-pptx-import-fix-placeholder-text-style.diff b/patches/dev300/oox-pptx-import-fix-placeholder-text-style.diff
deleted file mode 100644
index eefcb86..0000000
--- a/patches/dev300/oox-pptx-import-fix-placeholder-text-style.diff
+++ /dev/null
@@ -1,169 +0,0 @@
-diff -rup ../ooo330-m2-orig/oox/source/drawingml/shapecontext.cxx oox/source/drawingml/shapecontext.cxx
---- ../ooo330-m2-orig/oox/source/drawingml/shapecontext.cxx	2010-07-22 13:12:44.000000000 +0200
-+++ oox/source/drawingml/shapecontext.cxx	2010-09-02 17:18:22.000000000 +0200
-@@ -95,7 +95,8 @@ Reference< XFastContextHandler > ShapeCo
-     }
-     case XML_ph:
-         mpShapePtr->setSubType( xAttribs->getOptionalValueToken( XML_type, XML_obj ) );
--        mpShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() );
-+        if( xAttribs->hasAttribute( XML_idx ) )
-+            mpShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() );
-         break;
-     // nvSpPr CT_ShapeNonVisual end
- 
-diff -rup ../ooo330-m2-orig/oox/source/drawingml/shapegroupcontext.cxx oox/source/drawingml/shapegroupcontext.cxx
---- ../ooo330-m2-orig/oox/source/drawingml/shapegroupcontext.cxx	2010-07-22 13:12:44.000000000 +0200
-+++ oox/source/drawingml/shapegroupcontext.cxx	2010-09-02 17:18:28.000000000 +0200
-@@ -80,7 +80,8 @@ Reference< XFastContextHandler > ShapeGr
-     }
-     case XML_ph:
-         mpGroupShapePtr->setSubType( xAttribs->getOptionalValueToken( XML_type, FastToken::DONTKNOW ) );
--        mpGroupShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() );
-+        if( xAttribs->hasAttribute( XML_idx ) )
-+            mpGroupShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() );
-         break;
-     // nvSpPr CT_ShapeNonVisual end
- 
-diff -rup ../ooo330-m2-orig/oox/source/drawingml/textbodypropertiescontext.cxx oox/source/drawingml/textbodypropertiescontext.cxx
---- ../ooo330-m2-orig/oox/source/drawingml/textbodypropertiescontext.cxx	2010-07-22 13:12:44.000000000 +0200
-+++ oox/source/drawingml/textbodypropertiescontext.cxx	2010-09-02 12:16:09.000000000 +0200
-@@ -88,23 +88,26 @@ TextBodyPropertiesContext::TextBodyPrope
-     }
- 
-     // ST_TextAnchoringType
--    drawing::TextVerticalAdjust	eVA( drawing::TextVerticalAdjust_TOP );
--    switch( xAttributes->getOptionalValueToken( XML_anchor, XML_t ) )
--    {
--        case XML_b :	eVA = drawing::TextVerticalAdjust_BOTTOM; break;
--        case XML_dist :
--        case XML_just :
--        case XML_ctr :	eVA = drawing::TextVerticalAdjust_CENTER; break;
--        default:
--        case XML_t :	eVA = drawing::TextVerticalAdjust_TOP; break;
-+    if( xAttributes->hasAttribute( XML_anchor ) ) {
-+        drawing::TextVerticalAdjust	eVA( drawing::TextVerticalAdjust_TOP );
-+        switch( xAttributes->getOptionalValueToken( XML_anchor, XML_t ) )
-+        {
-+            case XML_b :	eVA = drawing::TextVerticalAdjust_BOTTOM; break;
-+            case XML_dist :
-+            case XML_just :
-+            case XML_ctr :	eVA = drawing::TextVerticalAdjust_CENTER; break;
-+            default:
-+            case XML_t :	eVA = drawing::TextVerticalAdjust_TOP; break;
-+        }
-+        mrTextBodyProp.maPropertyMap[ PROP_TextVerticalAdjust ] <<= eVA;
-     }
--    mrTextBodyProp.maPropertyMap[ PROP_TextVerticalAdjust ] <<= eVA;
- 
-     bool bAnchorCenter = aAttribs.getBool( XML_anchorCtr, false );
--    if( bAnchorCenter )
--    mrTextBodyProp.maPropertyMap[ PROP_TextHorizontalAdjust ] <<= 
--        TextHorizontalAdjust_CENTER;
--
-+    if( xAttributes->hasAttribute( XML_anchorCtr ) ) {
-+        if( bAnchorCenter )
-+            mrTextBodyProp.maPropertyMap[ PROP_TextHorizontalAdjust ] <<= 
-+                TextHorizontalAdjust_CENTER;
-+    }
- //   bool bCompatLineSpacing = aAttribs.getBool( XML_compatLnSpc, false );
- //   bool bForceAA = aAttribs.getBool( XML_forceAA, false );
- //   bool bFromWordArt = aAttribs.getBool( XML_fromWordArt, false );
-@@ -127,19 +130,21 @@ TextBodyPropertiesContext::TextBodyPrope
- //   bool bUpRight = aAttribs.getBool( XML_upright, 0 );
- 
-     // ST_TextVerticalType
--    mrTextBodyProp.moVert = aAttribs.getToken( XML_vert );
--    bool bRtl = aAttribs.getBool( XML_rtl, false );
--    sal_Int32 tVert = mrTextBodyProp.moVert.get( XML_horz );
--    if( tVert == XML_vert || tVert == XML_eaVert || tVert == XML_vert270 || tVert == XML_mongolianVert ) {
--      mrTextBodyProp.maPropertyMap[ PROP_TextWritingMode ]
--    <<= WritingMode_TB_RL;
--      // workaround for TB_LR as using WritingMode2 doesn't work
--        if( !bAnchorCenter )
--            mrTextBodyProp.maPropertyMap[ PROP_TextHorizontalAdjust ] <<= 
--            TextHorizontalAdjust_LEFT;
--    } else
--      mrTextBodyProp.maPropertyMap[ PROP_TextWritingMode ]
--    <<= ( bRtl ? WritingMode_RL_TB : WritingMode_LR_TB );
-+    if( xAttributes->hasAttribute( XML_vert ) ) {
-+        mrTextBodyProp.moVert = aAttribs.getToken( XML_vert );
-+        bool bRtl = aAttribs.getBool( XML_rtl, false );
-+        sal_Int32 tVert = mrTextBodyProp.moVert.get( XML_horz );
-+        if( tVert == XML_vert || tVert == XML_eaVert || tVert == XML_vert270 || tVert == XML_mongolianVert ) {
-+            mrTextBodyProp.maPropertyMap[ PROP_TextWritingMode ]
-+                <<= WritingMode_TB_RL;
-+            // workaround for TB_LR as using WritingMode2 doesn't work
-+            if( !bAnchorCenter )
-+                mrTextBodyProp.maPropertyMap[ PROP_TextHorizontalAdjust ] <<= 
-+                    TextHorizontalAdjust_LEFT;
-+        } else
-+            mrTextBodyProp.maPropertyMap[ PROP_TextWritingMode ]
-+                <<= ( bRtl ? WritingMode_RL_TB : WritingMode_LR_TB );
-+    }
- }
- 
- // --------------------------------------------------------------------
-diff -rup ../ooo330-m2-orig/oox/source/ppt/pptgraphicshapecontext.cxx oox/source/ppt/pptgraphicshapecontext.cxx
---- ../ooo330-m2-orig/oox/source/ppt/pptgraphicshapecontext.cxx	2010-08-24 20:25:45.000000000 +0200
-+++ oox/source/ppt/pptgraphicshapecontext.cxx	2010-09-02 17:18:54.000000000 +0200
-@@ -132,7 +132,8 @@ Reference< XFastContextHandler > PPTGrap
-         OUString sIdx( xAttribs->getOptionalValue( XML_idx ) );
-         sal_Bool bHasIdx = sIdx.getLength() > 0;
-         sal_Int32 nIdx = sIdx.toInt32();
--        mpShapePtr->setSubTypeIndex( nIdx );
-+        if( xAttribs->hasAttribute( XML_idx ) )
-+            mpShapePtr->setSubTypeIndex( nIdx );
- 
-         if ( nSubType || bHasIdx )
-         {
-diff -rup ../ooo330-m2-orig/oox/source/ppt/pptshapecontext.cxx oox/source/ppt/pptshapecontext.cxx
---- ../ooo330-m2-orig/oox/source/ppt/pptshapecontext.cxx	2010-08-24 20:25:41.000000000 +0200
-+++ oox/source/ppt/pptshapecontext.cxx	2010-09-02 17:18:37.000000000 +0200
-@@ -116,7 +116,8 @@ Reference< XFastContextHandler > PPTShap
-         {
-             sal_Int32 nSubType( xAttribs->getOptionalValueToken( XML_type, XML_obj ) );
-             mpShapePtr->setSubType( nSubType );
--            mpShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() );
-+            if( xAttribs->hasAttribute( XML_idx ) )
-+                mpShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() );
-             if ( nSubType )
-             {
-                 PPTShape* pPPTShapePtr = dynamic_cast< PPTShape* >( mpShapePtr.get() );
-diff -rup ../ooo330-m2-orig/oox/source/ppt/pptshape.cxx oox/source/ppt/pptshape.cxx
---- ../ooo330-m2-orig/oox/source/ppt/pptshape.cxx	2010-08-24 20:25:50.000000000 +0200
-+++ oox/source/ppt/pptshape.cxx	2010-09-03 16:41:34.000000000 +0200
-@@ -170,7 +170,11 @@ void PPTShape::addShape(
-                 }
-             }
- 
--/*
-+            OSL_TRACE("shape service: %s", rtl::OUStringToOString(sServiceName, RTL_TEXTENCODING_UTF8 ).getStr());
-+
-+            if( mnSubType && aMasterTextListStyle && getSubTypeIndex() != -1 )
-+                aMasterTextListStyle.reset();
-+
-             // use placeholder index if possible
-             if( mnSubType && getSubTypeIndex() && rSlidePersist.getMasterPersist().get() ) {
-                 oox::drawingml::ShapePtr pPlaceholder = PPTShape::findPlaceholderByIndex( getSubTypeIndex(), rSlidePersist.getMasterPersist()->getShapes()->getChildren() );
-@@ -184,7 +188,7 @@ void PPTShape::addShape(
-                 aMasterTextListStyle = pNewTextListStyle;
-                 }
-             }
--*/
-+
-             if ( sServiceName.getLength() )
-             {
-             // use style from master slide for placeholders only, otherwise use slide's style, which might be the default style from presentation
-diff -rup ../ooo330-m2-orig/oox/source/ppt/pptshapegroupcontext.cxx oox/source/ppt/pptshapegroupcontext.cxx
---- ../ooo330-m2-orig/oox/source/ppt/pptshapegroupcontext.cxx	2010-08-24 20:25:45.000000000 +0200
-+++ oox/source/ppt/pptshapegroupcontext.cxx	2010-09-02 17:18:15.000000000 +0200
-@@ -82,7 +82,8 @@ Reference< XFastContextHandler > PPTShap
-     }
-     case NMSP_PPT|XML_ph:
-         mpGroupShapePtr->setSubType( xAttribs->getOptionalValueToken( XML_type, FastToken::DONTKNOW ) );
--        mpGroupShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() );
-+        if( xAttribs->hasAttribute( XML_idx ) )
-+            mpGroupShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() );
-         break;
-     // nvSpPr CT_ShapeNonVisual end
- 
diff --git a/patches/dev300/oox-pptx-import-fix-text-body-properties.diff b/patches/dev300/oox-pptx-import-fix-text-body-properties.diff
deleted file mode 100644
index 4b69367..0000000
--- a/patches/dev300/oox-pptx-import-fix-text-body-properties.diff
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -rup ../../build-orig/ooo-build-3.2.98.0/oox/inc/oox/drawingml/textbody.hxx oox/inc/oox/drawingml/textbody.hxx
---- ../../build-orig/ooo-build-3.2.98.0/oox/inc/oox/drawingml/textbody.hxx	2010-08-24 17:01:37.000000000 +0200
-+++ oox/inc/oox/drawingml/textbody.hxx	2010-09-10 18:01:39.000000000 +0200
-@@ -29,6 +29,7 @@
- #define OOX_DRAWINGML_TEXTBODY_HXX
- 
- #include "oox/helper/containerhelper.hxx"
-+#include "oox/drawingml/drawingmltypes.hxx"
- #include "oox/drawingml/textbodyproperties.hxx"
- #include "oox/drawingml/textliststyle.hxx"
- 
-@@ -48,6 +49,7 @@ class TextBody
- {
- public:
-     TextBody();
-+    TextBody( TextBodyPtr pBody );
-     ~TextBody();
- 
-     inline const TextParagraphVector&   getParagraphs() const { return maParagraphs; }
-diff -rup ../../build-orig/ooo-build-3.2.98.0/oox/source/drawingml/textbody.cxx oox/source/drawingml/textbody.cxx
---- ../../build-orig/ooo-build-3.2.98.0/oox/source/drawingml/textbody.cxx	2010-08-24 17:01:37.000000000 +0200
-+++ oox/source/drawingml/textbody.cxx	2010-09-10 18:02:46.000000000 +0200
-@@ -42,6 +42,14 @@ TextBody::TextBody()
- {
- }
- 
-+TextBody::TextBody( TextBodyPtr pBody )
-+{
-+    if( pBody.get() ) {
-+        maTextProperties = pBody->maTextProperties;
-+        maTextListStyle = pBody->maTextListStyle;
-+    }
-+}
-+
- TextBody::~TextBody()
- {
- }
-diff -rup ../../build-orig/ooo-build-3.2.98.0/oox/source/ppt/pptshapecontext.cxx oox/source/ppt/pptshapecontext.cxx
---- ../../build-orig/ooo-build-3.2.98.0/oox/source/ppt/pptshapecontext.cxx	2010-09-10 18:24:39.000000000 +0200
-+++ oox/source/ppt/pptshapecontext.cxx	2010-09-10 18:03:15.000000000 +0200
-@@ -203,7 +203,7 @@ Reference< XFastContextHandler > PPTShap
- 
-         case NMSP_PPT|XML_txBody:
-         {
--            oox::drawingml::TextBodyPtr xTextBody( new oox::drawingml::TextBody );
-+            oox::drawingml::TextBodyPtr xTextBody( new oox::drawingml::TextBody( mpShapePtr->getTextBody() ) );
-             xTextBody->getTextProperties().maPropertyMap[ PROP_FontIndependentLineSpacing ] <<= static_cast< sal_Bool >( sal_True );
-             mpShapePtr->setTextBody( xTextBody );
-             xRet = new oox::drawingml::TextBodyContext( *this, *xTextBody );
diff --git a/patches/dev300/oox-pptx-import-fix-transition-auto-advance.diff b/patches/dev300/oox-pptx-import-fix-transition-auto-advance.diff
deleted file mode 100644
index 7219714..0000000
--- a/patches/dev300/oox-pptx-import-fix-transition-auto-advance.diff
+++ /dev/null
@@ -1,110 +0,0 @@
----
- oox/inc/oox/ppt/slidetransition.hxx       |    3 +++
- oox/source/ppt/slidetransition.cxx        |    8 ++++++--
- oox/source/ppt/slidetransitioncontext.cxx |    7 ++-----
- oox/source/token/properties.txt           |    2 ++
- 4 files changed, 13 insertions(+), 7 deletions(-)
-
-diff --git oox/inc/oox/ppt/slidetransition.hxx oox/inc/oox/ppt/slidetransition.hxx
-index 2de0464..9dd941c 100644
---- oox/inc/oox/ppt/slidetransition.hxx
-+++ oox/inc/oox/ppt/slidetransition.hxx
-@@ -51,6 +51,8 @@ namespace oox { namespace ppt {
-             { mnFadeColor = nColor; }
-         void setMode( sal_Bool bMode )
-             { mbMode = bMode; }
-+            void setOoxAdvanceTime( sal_Int32 nAdvanceTime )
-+                { mnAdvanceTime = nAdvanceTime; }
- 
-     static sal_Int16 ooxToOdpDirection( ::sal_Int32 nOoxType );
-     static sal_Int16 ooxToOdpEightDirections( ::sal_Int32 nOoxType );
-@@ -68,6 +70,7 @@ namespace oox { namespace ppt {
-         ::sal_Int16 mnAnimationSpeed;
-         ::sal_Int32 mnFadeColor;
-         ::sal_Bool  mbMode; /**< http://api.openoffice.org/docs/common/ref/com/sun/star/animations/XTransitionFilter.html Mode property */
-+        ::sal_Int32 mnAdvanceTime;
-     };
- 
- } }
-diff --git oox/source/ppt/slidetransition.cxx oox/source/ppt/slidetransition.cxx
-index 6c032e8..70cfbde 100644
---- oox/source/ppt/slidetransition.cxx
-+++ oox/source/ppt/slidetransition.cxx
-@@ -56,6 +56,7 @@ namespace oox { namespace ppt {
-         , mnAnimationSpeed( AnimationSpeed_FAST )
-         , mnFadeColor( 0 )
-         , mbMode( true )
-+        , mnAdvanceTime( -1 )
-     {
- 
-     }
-@@ -68,6 +69,7 @@ namespace oox { namespace ppt {
-         , mnAnimationSpeed( AnimationSpeed_FAST )
-         , mnFadeColor( 0 )
-         , mbMode( true )
-+        , mnAdvanceTime( -1 )
-     {
-         const transition *p = transition::find( sFilterName );
-         if( p )
-@@ -88,6 +90,10 @@ namespace oox { namespace ppt {
-             aProps[ PROP_TransitionDirection ] <<= mbTransitionDirectionNormal;
-             aProps[ PROP_Speed ] <<= mnAnimationSpeed;
-             aProps[ PROP_TransitionFadeColor ] <<= mnFadeColor;
-+        if( mnAdvanceTime != -1 ) {
-+        aProps[ PROP_Duration ] <<= mnAdvanceTime/1000;
-+        aProps[ PROP_Change ] <<= static_cast<sal_Int32>(1);
-+        }
-         }
-         catch( Exception& )
-         {
-@@ -138,8 +144,6 @@ namespace oox { namespace ppt {
-         }
-     }
- 
--
--
-     sal_Int16 SlideTransition::ooxToOdpEightDirections( ::sal_Int32 nOoxType )
-     {
-     sal_Int16 nOdpDirection;
-diff --git oox/source/ppt/slidetransitioncontext.cxx oox/source/ppt/slidetransitioncontext.cxx
-index 8a408a2..e414ed7 100644
---- oox/source/ppt/slidetransitioncontext.cxx
-+++ oox/source/ppt/slidetransitioncontext.cxx
-@@ -67,12 +67,9 @@ SlideTransitionContext::SlideTransitionContext( ContextHandler& rParent, const R
-     attribs.getBool( XML_advClick, true );
- 
-     // careful. if missing, no auto advance... 0 looks like a valid value
--  // for auto advance
-+    // for auto advance
-     if(attribs.hasAttribute( XML_advTm ))
--    {
--        // TODO
--        xAttribs->getOptionalValue( XML_advTm );
--    }
-+        maTransition.setOoxAdvanceTime( attribs.getInteger( XML_advTm, -1 ) );
- }
- 
- SlideTransitionContext::~SlideTransitionContext() throw()
-diff --git oox/source/token/properties.txt oox/source/token/properties.txt
-index 2ebd712..5a8cf5b 100644
---- oox/source/token/properties.txt
-+++ oox/source/token/properties.txt
-@@ -40,6 +40,7 @@ CellProtection
- CellStyle
- CenterHorizontally
- CenterVertically
-+Change
- CharCaseMap
- CharColor
- CharContoured
-@@ -114,6 +115,7 @@ DialogLibraries
- DisplayLabels
- DrillDownOnDoubleClick
- Dropdown
-+Duration
- EchoChar
- EdgeKind
- EnableVisible
--- 
-1.7.0.1
-
diff --git a/patches/dev300/oox-smartart-import.diff b/patches/dev300/oox-smartart-import.diff
index bcee60d..86d61bc 100644
--- a/patches/dev300/oox-smartart-import.diff
+++ b/patches/dev300/oox-smartart-import.diff
@@ -968,7 +968,7 @@ index 2780fcd..65380c2 100644
      virtual ~Shape();
  
      rtl::OUString&                  getServiceName(){ return msServiceName; }
-@@ -114,10 +116,17 @@ public:
+@@ -114,13 +116,20 @@ public:
  
      CustomShapePropertiesPtr        getCustomShapeProperties(){ return mpCustomShapePropertiesPtr; }
  
@@ -977,6 +977,9 @@ index 2780fcd..65380c2 100644
 +
      table::TablePropertiesPtr		getTableProperties();
  
+     void                              setChildPosition( com::sun::star::awt::Point nPosition ){ maChPosition = nPosition; }
+     void                              setChildSize( com::sun::star::awt::Size aSize ){ maChSize = aSize; }
+ 
 -    void                            setPosition( com::sun::star::awt::Point nPosition ){ maPosition = nPosition; }
 -    void                            setSize( com::sun::star::awt::Size aSize ){ maSize = aSize; }
 +    void                              setPosition( com::sun::star::awt::Point nPosition ){ maPosition = nPosition; }
@@ -5551,13 +5554,14 @@ index 60aae15..72d5406 100644
  #include <com/sun/star/drawing/HomogenMatrix3.hpp>
  #include <com/sun/star/drawing/ConnectorType.hpp>
  #include <com/sun/star/text/XText.hpp>
-@@ -102,6 +104,33 @@ Shape::Shape( const sal_Char* pServiceName )
+@@ -102,6 +104,34 @@ Shape::Shape( const sal_Char* pServiceName )
          msServiceName = OUString::createFromAscii( pServiceName );
      setDefaults();
  }
 +
 +Shape::Shape( const ShapePtr& pSourceShape )
 +: maChildren()
++, mbIsChild( pSourceShape->mbIsChild )
 +, mpTextBody(pSourceShape->mpTextBody)
 +, mpLinePropertiesPtr( pSourceShape->mpLinePropertiesPtr )
 +, mpFillPropertiesPtr( pSourceShape->mpFillPropertiesPtr )
diff --git a/patches/dev300/oox-xlsx-import-fix-connector-shape.diff b/patches/dev300/oox-xlsx-import-fix-connector-shape.diff
index b220962..d7c5e42 100644
--- a/patches/dev300/oox-xlsx-import-fix-connector-shape.diff
+++ b/patches/dev300/oox-xlsx-import-fix-connector-shape.diff
@@ -39,8 +39,8 @@ index f702ff6..2ebd712 100644
 --- oox/source/token/properties.txt
 +++ oox/source/token/properties.txt
 @@ -115,6 +115,7 @@ DisplayLabels
- DrillDownOnDoubleClick
  Dropdown
+ Duration
  EchoChar
 +EdgeKind
  EnableVisible
diff --git a/patches/dev300/pptx-gfx-layout-fix.diff b/patches/dev300/pptx-gfx-layout-fix.diff
deleted file mode 100644
index 20f0570..0000000
--- a/patches/dev300/pptx-gfx-layout-fix.diff
+++ /dev/null
@@ -1,322 +0,0 @@
---- oox/inc/oox/ppt/pptgraphicshapecontext.hxx.old	1970-01-01 01:00:00.000000000 +0100
-+++ oox/inc/oox/ppt/pptgraphicshapecontext.hxx	2010-07-29 21:33:33.000000000 +0200
-@@ -0,0 +1,49 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: pptshapecontext.hxx,v $
-+ * $Revision: 1.4 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org.  If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef OOX_PPT_PPTGRAPHICSHAPECONTEXT_HXX
-+#define OOX_PPT_PPTGRAPHICSHAPECONTEXT_HXX
-+
-+#include "oox/drawingml/graphicshapecontext.hxx"
-+
-+namespace oox { namespace ppt {
-+
-+class PPTGraphicShapeContext : public ::oox::drawingml::GraphicShapeContext
-+{
-+    SlidePersistPtr     mpSlidePersistPtr;
-+
-+public:
-+    PPTGraphicShapeContext( ::oox::core::ContextHandler& rParent, const SlidePersistPtr pSlidePersistPtr, oox::drawingml::ShapePtr pMasterShapePtr, oox::drawingml::ShapePtr pShapePtr );
-+    virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
-+};
-+
-+} }
-+
-+#endif  //  OOX_PPT_PPTGRAPHICSHAPEGROUPCONTEXT_HXX
---- oox/source/ppt/makefile.mk.old	2010-07-22 13:12:44.000000000 +0200
-+++ oox/source/ppt/makefile.mk	2010-07-29 21:33:33.000000000 +0200
-@@ -53,6 +53,7 @@ SLOFILES =	\
-         $(SLO)$/headerfootercontext.obj \
-         $(SLO)$/layoutfragmenthandler.obj\
-         $(SLO)$/pptfilterhelpers.obj\
-+        $(SLO)$/pptgraphicshapecontext.obj \
-         $(SLO)$/pptimport.obj\
-         $(SLO)$/pptshape.obj \
-         $(SLO)$/pptshapecontext.obj \
---- oox/source/ppt/pptgraphicshapecontext.cxx.old	1970-01-01 01:00:00.000000000 +0100
-+++ oox/source/ppt/pptgraphicshapecontext.cxx	2010-07-29 21:33:33.000000000 +0200
-@@ -0,0 +1,238 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: pptshapecontext.cxx,v $
-+ * $Revision: 1.6 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org.  If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#include <com/sun/star/xml/sax/FastToken.hpp>
-+#include <com/sun/star/drawing/LineStyle.hpp>
-+#include <com/sun/star/beans/XMultiPropertySet.hpp>
-+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-+#include <com/sun/star/container/XNamed.hpp>
-+
-+#include "oox/ppt/pptshape.hxx"
-+#include "oox/ppt/pptgraphicshapecontext.hxx"
-+#include "oox/ppt/pptshapepropertiescontext.hxx"
-+#include "oox/ppt/slidepersist.hxx"
-+#include "oox/drawingml/shapestylecontext.hxx"
-+#include "oox/core/namespaces.hxx"
-+#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
-+#include "oox/drawingml/lineproperties.hxx"
-+#include "oox/drawingml/drawingmltypes.hxx"
-+#include "oox/drawingml/customshapegeometry.hxx"
-+#include "oox/drawingml/textbodycontext.hxx"
-+#include "tokens.hxx"
-+
-+using rtl::OUString;
-+using namespace oox::core;
-+using namespace ::com::sun::star;
-+using namespace ::com::sun::star::uno;
-+using namespace ::com::sun::star::drawing;
-+using namespace ::com::sun::star::beans;
-+using namespace ::com::sun::star::text;
-+using namespace ::com::sun::star::xml::sax;
-+
-+namespace oox { namespace ppt {
-+
-+// CT_Shape
-+PPTGraphicShapeContext::PPTGraphicShapeContext( ContextHandler& rParent, const SlidePersistPtr pSlidePersistPtr, oox::drawingml::ShapePtr pMasterShapePtr, oox::drawingml::ShapePtr pShapePtr )
-+: oox::drawingml::GraphicShapeContext( rParent, pMasterShapePtr, pShapePtr )
-+, mpSlidePersistPtr( pSlidePersistPtr )
-+{
-+}
-+
-+static oox::drawingml::ShapePtr findPlaceholder( const sal_Int32 nMasterPlaceholder, std::vector< oox::drawingml::ShapePtr >& rShapes )
-+{
-+    oox::drawingml::ShapePtr aShapePtr;
-+    std::vector< oox::drawingml::ShapePtr >::reverse_iterator aRevIter( rShapes.rbegin() );
-+    while( aRevIter != rShapes.rend() )
-+    {
-+        if ( (*aRevIter)->getSubType() == nMasterPlaceholder )
-+        {
-+            aShapePtr = *aRevIter;
-+            break;
-+        }
-+        std::vector< oox::drawingml::ShapePtr >& rChildren = (*aRevIter)->getChildren();
-+        aShapePtr = findPlaceholder( nMasterPlaceholder, rChildren );
-+        if ( aShapePtr.get() )
-+            break;
-+        aRevIter++;
-+    }
-+    return aShapePtr;
-+}
-+
-+static oox::drawingml::ShapePtr findPlaceholderByIndex( const sal_Int32 nIdx, std::vector< oox::drawingml::ShapePtr >& rShapes )
-+{
-+    oox::drawingml::ShapePtr aShapePtr;
-+    std::vector< oox::drawingml::ShapePtr >::reverse_iterator aRevIter( rShapes.rbegin() );
-+    while( aRevIter != rShapes.rend() )
-+    {
-+        if ( (*aRevIter)->getSubTypeIndex() == nIdx )
-+        {
-+            aShapePtr = *aRevIter;
-+            break;
-+        }
-+        std::vector< oox::drawingml::ShapePtr >& rChildren = (*aRevIter)->getChildren();
-+        aShapePtr = findPlaceholderByIndex( nIdx, rChildren );
-+        if ( aShapePtr.get() )
-+            break;
-+        aRevIter++;
-+    }
-+    return aShapePtr;
-+}
-+
-+// if nFirstPlaceholder can't be found, it will be searched for nSecondPlaceholder
-+static oox::drawingml::ShapePtr findPlaceholder( sal_Int32 nFirstPlaceholder, sal_Int32 nSecondPlaceholder, std::vector< oox::drawingml::ShapePtr >& rShapes )
-+{
-+    oox::drawingml::ShapePtr pPlaceholder = findPlaceholder( nFirstPlaceholder, rShapes );
-+    return !nSecondPlaceholder || pPlaceholder.get() ? pPlaceholder : findPlaceholder( nSecondPlaceholder, rShapes );
-+}
-+
-+Reference< XFastContextHandler > PPTGraphicShapeContext::createFastChildContext( sal_Int32 aElementToken, const Reference< XFastAttributeList >& xAttribs ) throw (SAXException, RuntimeException)
-+{
-+    Reference< XFastContextHandler > xRet;
-+
-+    switch( aElementToken )
-+    {
-+    // nvSpPr CT_ShapeNonVisual begin
-+//	case NMSP_PPT|XML_drElemPr:
-+//		break;
-+    case NMSP_PPT|XML_cNvPr:
-+        mpShapePtr->setId( xAttribs->getOptionalValue( XML_id ) );
-+        mpShapePtr->setName( xAttribs->getOptionalValue( XML_name ) );
-+        break;
-+    case NMSP_PPT|XML_ph:
-+    {
-+        sal_Int32 nSubType( xAttribs->getOptionalValueToken( XML_type, XML_obj ) );
-+        mpShapePtr->setSubType( nSubType );
-+        OUString sIdx( xAttribs->getOptionalValue( XML_idx ) );
-+        sal_Bool bHasIdx = sIdx.getLength() > 0;
-+        sal_Int32 nIdx = sIdx.toInt32();
-+        mpShapePtr->setSubTypeIndex( nIdx );
-+
-+        if ( nSubType || bHasIdx )
-+        {
-+            PPTShape* pPPTShapePtr = dynamic_cast< PPTShape* >( mpShapePtr.get() );
-+            if ( pPPTShapePtr )
-+            {
-+                oox::ppt::ShapeLocation eShapeLocation = pPPTShapePtr->getShapeLocation();
-+                oox::drawingml::ShapePtr pPlaceholder;
-+
-+                if ( bHasIdx && eShapeLocation == Slide )
-+                {
-+                    // TODO: use id to shape map
-+                    SlidePersistPtr pMasterPersist( mpSlidePersistPtr->getMasterPersist() );
-+                    if ( pMasterPersist.get() )
-+                    pPlaceholder = findPlaceholderByIndex( nIdx, pMasterPersist->getShapes()->getChildren() );
-+                }
-+                if ( !pPlaceholder.get() && ( ( eShapeLocation == Slide ) || ( eShapeLocation == Layout ) ) )
-+                {
-+                    // inheriting properties from placeholder objects by cloning shape
-+
-+                    sal_Int32 nFirstPlaceholder = 0;
-+                    sal_Int32 nSecondPlaceholder = 0;
-+                    switch( nSubType )
-+                    {
-+                        case XML_ctrTitle :		// slide/layout
-+                            nFirstPlaceholder = XML_ctrTitle;
-+                            nSecondPlaceholder = XML_title;
-+                            break;
-+                        case XML_subTitle :		// slide/layout
-+                            nFirstPlaceholder = XML_subTitle;
-+                            nSecondPlaceholder = XML_title;
-+                            break;
-+                        case XML_obj :			// slide/layout
-+                            nFirstPlaceholder = XML_body;
-+                            break;
-+                        case XML_dt :			// slide/layout/master/notes/notesmaster/handoutmaster
-+                        case XML_sldNum :		// slide/layout/master/notes/notesmaster/handoutmaster
-+                        case XML_ftr :			// slide/layout/master/notes/notesmaster/handoutmaster
-+                        case XML_hdr :			// notes/notesmaster/handoutmaster
-+                        case XML_body :			// slide/layout/master/notes/notesmaster
-+                        case XML_title :		// slide/layout/master/
-+                        case XML_chart :		// slide/layout
-+                        case XML_tbl :			// slide/layout
-+                        case XML_clipArt :		// slide/layout
-+                        case XML_dgm :			// slide/layout
-+                        case XML_media :		// slide/layout
-+                        case XML_sldImg :		// notes/notesmaster
-+                        case XML_pic :			// slide/layout
-+                            nFirstPlaceholder = nSubType;
-+                        default:
-+                            break;
-+                    }
-+                    if ( nFirstPlaceholder )
-+                    {
-+                        if ( eShapeLocation == Layout )		// for layout objects the referenced object can be found within the same shape tree
-+                            pPlaceholder = findPlaceholder( nFirstPlaceholder, nSecondPlaceholder, mpSlidePersistPtr->getShapes()->getChildren() );
-+                        else if ( eShapeLocation == Slide )	// normal slide shapes have to search within the corresponding master tree for referenced objects
-+                        {
-+                            SlidePersistPtr pMasterPersist( mpSlidePersistPtr->getMasterPersist() );
-+                            if ( pMasterPersist.get() )
-+                                pPlaceholder = findPlaceholder( nFirstPlaceholder, nSecondPlaceholder, pMasterPersist->getShapes()->getChildren() );
-+                        }
-+                    }
-+                }
-+                if ( pPlaceholder.get() )
-+                {
-+                    mpShapePtr->applyShapeReference( *pPlaceholder.get() );
-+                    PPTShape* pPPTShape = dynamic_cast< PPTShape* >( pPlaceholder.get() );
-+                    if ( pPPTShape )
-+                    pPPTShape->setReferenced( sal_True );
-+                    pPPTShapePtr->setPlaceholder( pPlaceholder );
-+                }
-+            }
-+        }
-+        break;
-+    }
-+    // nvSpPr CT_ShapeNonVisual end
-+
-+    case NMSP_PPT|XML_spPr:
-+        xRet = new PPTShapePropertiesContext( *this, *mpShapePtr );
-+        break;
-+
-+    case NMSP_PPT|XML_style:
-+        xRet = new oox::drawingml::ShapeStyleContext( *this, *mpShapePtr );
-+        break;
-+
-+    case NMSP_PPT|XML_txBody:
-+    {
-+        oox::drawingml::TextBodyPtr xTextBody( new oox::drawingml::TextBody );
-+        mpShapePtr->setTextBody( xTextBody );
-+        xRet = new oox::drawingml::TextBodyContext( *this, *xTextBody );
-+        break;
-+    }
-+    }
-+
-+    if( !xRet.is() )
-+        xRet.set( GraphicShapeContext::createFastChildContext( aElementToken, xAttribs ) );
-+
-+    return xRet;
-+}
-+
-+
-+} }
---- oox/source/ppt/pptshapegroupcontext.cxx.old	2010-07-22 13:12:44.000000000 +0200
-+++ oox/source/ppt/pptshapegroupcontext.cxx	2010-07-29 21:33:33.000000000 +0200
-@@ -31,6 +31,7 @@
- 
- #include "oox/helper/attributelist.hxx"
- #include "oox/ppt/pptshape.hxx"
-+#include "oox/ppt/pptgraphicshapecontext.hxx"
- #include "oox/ppt/pptshapecontext.hxx"
- #include "oox/ppt/pptshapegroupcontext.hxx"
- #include "oox/drawingml/graphicshapecontext.hxx"
-@@ -106,7 +107,7 @@ Reference< XFastContextHandler > PPTShap
-         xRet.set( new PPTShapeContext( *this, mpSlidePersistPtr, mpGroupShapePtr, oox::drawingml::ShapePtr( new PPTShape( meShapeLocation, "com.sun.star.drawing.CustomShape" ) ) ) );
-         break;
-     case NMSP_PPT|XML_pic:			// CT_Picture
--        xRet.set( new oox::drawingml::GraphicShapeContext( *this, mpGroupShapePtr,  oox::drawingml::ShapePtr( new PPTShape( meShapeLocation, "com.sun.star.drawing.GraphicObjectShape" ) ) ) );
-+        xRet.set( new PPTGraphicShapeContext( *this, mpSlidePersistPtr, mpGroupShapePtr,  oox::drawingml::ShapePtr( new PPTShape( meShapeLocation, "com.sun.star.drawing.GraphicObjectShape" ) ) ) );
-         break;
-     case NMSP_PPT|XML_graphicFrame:	// CT_GraphicalObjectFrame
-         xRet.set( new oox::drawingml::GraphicalObjectFrameContext( *this, mpGroupShapePtr, oox::drawingml::ShapePtr( new PPTShape( meShapeLocation, "com.sun.star.drawing.OLE2Shape" ) ), true ) );


More information about the Libreoffice-commits mailing list