[ooo-build-commit] .: 13 commits - patches/dev300 patches/vba

Petr Mladek pmladek at kemper.freedesktop.org
Wed Aug 4 05:25:09 PDT 2010


 patches/dev300/apply                                          |   32 
 patches/dev300/calc-distributed-cell-text-xmloff.diff         |   11 
 patches/dev300/calc-formula-variable-sep-config-check-sc.diff |   28 
 patches/dev300/calc-insert-current-time-sc.diff               |   56 
 patches/dev300/calc-pdf-export-allow-filtered-range-sc.diff   |   19 
 patches/dev300/calc-perf-import-dbf-sc.diff                   |   53 
 patches/dev300/calc-perf-xls-import-cellstyles.diff           |   34 
 patches/dev300/piece-desktop.diff                             |    4 
 patches/dev300/piece-xmerge.diff                              |  308 ---
 patches/dev300/pptx-autoplay-fix.diff                         |    4 
 patches/dev300/writer-doc-comparison.diff                     |   44 
 patches/dev300/xlsx-shared-xlsx-shared-import-and-export.diff |   12 
 patches/dev300/xlsx-shared-xlsx-snapshot.diff                 |   46 
 patches/vba/cws-vbasupportdev300-fake.diff                    |   12 
 patches/vba/cws-vbasupportdev300.diff                         |  724 ++++---
 patches/vba/oox-projectname-oobuild-specifix.diff             |    4 
 patches/vba/vba-container-controls.diff                       |  907 ++--------
 patches/vba/vba-oox-autocodename.diff                         |   40 
 patches/vba/vba-oox-olenameoverride.diff                      |    9 
 patches/vba/vbahelper-no-oox.diff                             |  406 ----
 20 files changed, 783 insertions(+), 1970 deletions(-)

New commits:
commit 7a312b12cc279c1960c0abd4b06f26e0871cbbb4
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Wed Aug 4 14:14:59 2010 +0200

    fix sc/source/ui/vba/vbacomment.cxx compilation
    
    * patches/vba/cws-vbasupportdev300.diff: upstream added another implementation
      of ScVbaComment::getShape with another return type; temporary disabled the
      one in cws-vbasupportdev300.diff

diff --git a/patches/vba/cws-vbasupportdev300.diff b/patches/vba/cws-vbasupportdev300.diff
index 4c4967e..e605377 100644
--- a/patches/vba/cws-vbasupportdev300.diff
+++ b/patches/vba/cws-vbasupportdev300.diff
@@ -20339,10 +20339,13 @@ index 16dfcf2..6802a78 100644
  
  using namespace ::ooo::vba;
  using namespace ::com::sun::star;
-@@ -119,6 +129,39 @@ ScVbaComment::setAuthor( const rtl::OUString& /*_author*/ ) throw (uno::RuntimeE
+@@ -119,6 +129,43 @@ ScVbaComment::setAuthor( const rtl::OUString& /*_author*/ ) throw (uno::RuntimeE
      // #TODO #FIXME  implementation needed
  }
  
++/*
++FIXME ooo330-m2: upstream added another implementation of this method with another return value
++      what implementation is correct?
 +uno::Any SAL_CALL ScVbaComment::getShape() throw (uno::RuntimeException)
 +{
 +	ScDocShell* pDocShell = excel::GetDocShellFromRange( mxRange );
@@ -20375,6 +20378,7 @@ index 16dfcf2..6802a78 100644
 +
 +	return uno::makeAny( uno::Reference< msforms::XShape >(new ScVbaCommentShape( this, mxContext, xShape, this, xShapes, xModel, office::MsoShapeType::msoComment ) ) );
 +}
++*/
 +
  uno::Reference< msforms::XShape > SAL_CALL
  ScVbaComment::getShape() throw (uno::RuntimeException)
commit 100f603504ee37342391f011fdba15d6203d0f62
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Wed Aug 4 12:29:21 2010 +0200

    fix sc/source/ui/vba/* compilation
    
    * patches/vba/cws-vbasupportdev300.diff: add missing GetDocShellFromRanges
      implementation to excelvbahelper.cxx; mention the new method in
      excelvbahelper.hxx; call it from vbarange.cxx; also fix one new location
      where excel::GetDocumentFromRange need to be called instead of
      getDocumentFromRange; finally, call ScVbaWorksheets::nameExists
      instead of nameExists in vbaworksheet.cxx

diff --git a/patches/vba/cws-vbasupportdev300.diff b/patches/vba/cws-vbasupportdev300.diff
index bf0bf4f..4c4967e 100644
--- a/patches/vba/cws-vbasupportdev300.diff
+++ b/patches/vba/cws-vbasupportdev300.diff
@@ -18974,7 +18974,7 @@ index 2722781..6c4ffb3 100644
  
  using namespace ::com::sun::star;
  using namespace ::ooo::vba;
-@@ -41,6 +42,83 @@ namespace vba
+@@ -41,6 +42,94 @@ namespace vba
  {
  namespace excel
  {
@@ -19035,6 +19035,17 @@ index 2722781..6c4ffb3 100644
 +    return pScCellRangesBase->GetDocShell();
 +}
 +
++ScDocShell* GetDocShellFromRanges( const uno::Reference< sheet::XSheetCellRangeContainer >& xRanges ) throw ( uno::RuntimeException ) 
++{ 
++    // need the ScCellRangesBase to get docshell 
++    uno::Reference< uno::XInterface > xIf( xRanges, uno::UNO_QUERY_THROW ); 
++
++    ScCellRangesBase* pUno = ScCellRangesBase::getImplementation( xIf ); 
++    if ( !pUno ) 
++        throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Failed to access underlying uno range object" ) ), uno::Reference< uno::XInterface >()  ); 
++    return pUno->GetDocShell(); 
++} 
++
 +ScDocument* GetDocumentFromRange( const uno::Reference< uno::XInterface >& xRange ) throw ( uno::RuntimeException )
 +{
 +	ScDocShell* pDocShell = GetDocShellFromRange( xRange );
@@ -19129,7 +19140,7 @@ index ce6ba35..4c8c4a1 100644
  
  class ScCellRangesBase;
  
-@@ -36,24 +42,34 @@ namespace ooo
+@@ -36,24 +42,35 @@ namespace ooo
  {
      namespace vba 
      {
@@ -19163,6 +19174,7 @@ index ce6ba35..4c8c4a1 100644
 +            css::uno::Reference< ooo::vba::XHelperInterface > getUnoSheetModuleObj( const css::uno::Reference< css::sheet::XSheetCellRangeContainer >& xRanges ) throw ( css::uno::RuntimeException );
 +            css::uno::Reference< ooo::vba::XHelperInterface > getUnoSheetModuleObj( const css::uno::Reference< css::table::XCellRange >& xRange ) throw ( css::uno::RuntimeException );
 +            ScDocShell* GetDocShellFromRange( const css::uno::Reference< css::uno::XInterface >& xRange ) throw ( css::uno::RuntimeException );
++            ScDocShell* GetDocShellFromRanges( const css::uno::Reference< css::sheet::XSheetCellRangeContainer >& xRanges ) throw ( css::uno::RuntimeException );
 +            ScDocument* GetDocumentFromRange( const css::uno::Reference< css::uno::XInterface >& xRange ) throw ( css::uno::RuntimeException );
 +            css::uno::Reference< css::frame::XModel > GetModelFromRange( const css::uno::Reference< css::uno::XInterface >& xRange ) throw ( css::uno::RuntimeException );
 +
@@ -25702,6 +25714,26 @@ index fd136e6..d9cc4ea 100644
          if ( xNameAccess->hasByName( sAddress ) )
          {
              uno::Reference< sheet::XNamedRange > xNamed( xNameAccess->getByName( sAddress ), uno::UNO_QUERY_THROW );
+# FIXME ooo330-m2: this is new hunk added to me the complier happy
+@@ -1136,7 +1136,7 @@ uno::Reference< sheet::XSheetCellRangeCo
+         ScUnoConversion::FillScRange( aScRange, aRangeAddr );
+         aScRanges.Append( aScRange );
+     }
+-    return new ScCellRangesObj( getDocShellFromRanges( rxCellRanges ), aScRanges );
++    return new ScCellRangesObj( excel::GetDocShellFromRanges( rxCellRanges ), aScRanges );
+ }
+ 
+ void lclExpandAndMerge( const uno::Reference< table::XCellRange >& rxCellRange, bool bMerge ) throw (uno::RuntimeException)
+# FIXME ooo330-m2: this is new hunk added to me the complier happy
+@@ -1150,7 +1150,7 @@ util::TriState lclGetMergedState( const 
+         of a merged range is part of this range are not covered. */
+     ScRange aScRange;
+     ScUnoConversion::FillScRange( aScRange, aRangeAddr );
+-    bool bHasMerged = getDocumentFromRange( rxCellRange )->HasAttrib( aScRange, HASATTR_MERGED | HASATTR_OVERLAPPED );
++    bool bHasMerged = excel::GetDocumentFromRange( rxCellRange )->HasAttrib( aScRange, HASATTR_MERGED | HASATTR_OVERLAPPED );
+     return bHasMerged ? util::TriState_INDETERMINATE : util::TriState_NO;
+ }
+ 
 @@ -1163,6 +1164,28 @@ ScVbaRange::getRangeObjectForName( const uno::Reference< uno::XComponentContext
      return getRangeForName( xParent, xContext, sRangeName, pDocSh, refAddr, eConv );
  }
@@ -27590,6 +27622,8 @@ index 2af3a04..8bc6dcf 100644
  #define STANDARDWIDTH 2267
  #define STANDARDHEIGHT 427
 # FIXME ooo320-m2: upstream removed this code at all; see also the change in sc/source/ui/vba/vbawindow.cxx
+#                  they started to call ScVbaWorksheets::nameExists instead of nameExists
+#                  => disabled this hunk and replaced nameExists with ScVbaWorksheets::nameExists in three locations below
 #@@ -94,7 +96,7 @@
 # using namespace com::sun::star;
 # using namespace ooo::vba;
@@ -27644,6 +27678,7 @@ index 2af3a04..8bc6dcf 100644
      uno::Any aValue( bVisible );
      xProps->setPropertyValue
              (rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsVisible" ) ), aValue);
+# FIXME ooo330-m2: replaced nameExists with ScVbaWorksheets::nameExists
 @@ -406,6 +428,18 @@ ScVbaWorksheet::getProtectContents()throw (uno::RuntimeException)
  sal_Bool 
  ScVbaWorksheet::getProtectDrawingObjects() throw (uno::RuntimeException) 
@@ -27651,7 +27686,7 @@ index 2af3a04..8bc6dcf 100644
 +	SCTAB nTab = 0;
 +	rtl::OUString aSheetName = getName();
 +	uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( getModel(), uno::UNO_QUERY_THROW );
-+	bool bSheetExists = nameExists (xSpreadDoc, aSheetName, nTab);
++	bool bSheetExists = ScVbaWorksheets::nameExists (xSpreadDoc, aSheetName, nTab);
 +	if ( bSheetExists )
 +	{
 +		uno::Reference< frame::XModel > xModel( getModel(), uno::UNO_QUERY_THROW );
@@ -27697,6 +27732,9 @@ index 2af3a04..8bc6dcf 100644
  }
  
  void 
+# FIXME ooo330-m2: replaced nameExists with ScVbaWorksheets::nameExists
+#                  only in the "if ( bSameDoc || ScVbaWorksheets::nameExists( xDestDoc, aCurrSheetName, nDummy ) ) " line
+#                  it has already been used in the other lines starting with "bool b"
 @@ -486,18 +540,42 @@ ScVbaWorksheet::Copy( const uno::Any& Before, const uno::Any& After ) throw (uno
          return;
      }
@@ -27726,7 +27764,7 @@ index 2af3a04..8bc6dcf 100644
 -        getNewSpreadsheetName(aSheetName,aCurrSheetName,xSpreadDoc);
 -        xSheets->copyByName(aCurrSheetName,aSheetName,nDest);
 +        uno::Reference<sheet::XSpreadsheets> xSheets = xDestDoc->getSheets();
-+        if ( bSameDoc || nameExists( xDestDoc, aCurrSheetName, nDummy ) )
++        if ( bSameDoc || ScVbaWorksheets::nameExists( xDestDoc, aCurrSheetName, nDummy ) )
 +            getNewSpreadsheetName(aSheetName,aCurrSheetName,xDestDoc);
 +        if ( bSameDoc )
 +            xSheets->copyByName(aCurrSheetName,aSheetName,nDest);
@@ -27811,6 +27849,7 @@ index 2af3a04..8bc6dcf 100644
      return xAddressable->getRangeAddress().Sheet;
  }
  
+# FIXME ooo330-m2: replaced nameExists with ScVbaWorksheets::nameExists
 @@ -960,6 +1049,50 @@ ScVbaWorksheet::PrintOut( const uno::Any& From, const uno::Any& To, const uno::A
      PrintOutHelper( excel::getBestViewShell( xModel ), From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, bSelection );
  }
@@ -27821,7 +27860,7 @@ index 2af3a04..8bc6dcf 100644
 +    uno::Reference< sheet::XDatabaseRange > xDBRange;
 +    uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( xModel, uno::UNO_QUERY_THROW );
 +    SCTAB nTab(0);
-+    bool bSheetExists = nameExists (xSpreadDoc, aSheetName, nTab);
++    bool bSheetExists = ScVbaWorksheets::nameExists (xSpreadDoc, aSheetName, nTab);
 +    if ( bSheetExists )    
 +    {
 +        rtl::OUString sAutofilterRngName;
commit de0089684f7b20703a1d4859748b0a0f28e1753a
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 3 21:04:33 2010 +0200

    fix sc/source/ui/vba/vbaapplication.cxx compilation
    
    * patches/vba/cws-vbasupportdev300.diff: docuno.hxx need to be explicitely
      included now

diff --git a/patches/vba/cws-vbasupportdev300.diff b/patches/vba/cws-vbasupportdev300.diff
index 0a41592..bf0bf4f 100644
--- a/patches/vba/cws-vbasupportdev300.diff
+++ b/patches/vba/cws-vbasupportdev300.diff
@@ -19346,7 +19346,7 @@ index 228ca64..3a4907b 100644
  
  #include "vbaapplication.hxx"
  #include "vbaworkbooks.hxx"
-@@ -51,21 +66,32 @@
+@@ -51,25 +66,37 @@
  #include "vbawindow.hxx"
  #include "vbawindows.hxx"
  #include "vbaglobals.hxx"
@@ -19379,6 +19379,11 @@ index 228ca64..3a4907b 100644
  #include <toolkit/awt/vclxwindow.hxx>
  #include <toolkit/helper/vclunohelper.hxx>
  
+ #include <tools/diagnose_ex.h>
++#include <tools/urlobj.hxx>
+ 
+ #include <docuno.hxx>
+ 
 @@ -78,15 +104,29 @@
  #include <basic/sbuno.hxx>
  #include <basic/sbmeth.hxx>
commit 19171729f4fefd085f7bd85c87474ede1fb781f3
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 3 20:09:33 2010 +0200

    fix sc/source/filter/excel/* compilation
    
    * patches/dev300/xlsx-shared-xlsx-snapshot.diff: enabled to hunk
      for XclExpShapeObj::XclExpShapeObj again
    * patches/vba/cws-vbasupportdev300.diff: enabled again hunks for
      XclControlHelper::ExtractFromMacroDescriptor

diff --git a/patches/dev300/xlsx-shared-xlsx-snapshot.diff b/patches/dev300/xlsx-shared-xlsx-snapshot.diff
index e471102..433c033 100644
--- a/patches/dev300/xlsx-shared-xlsx-snapshot.diff
+++ b/patches/dev300/xlsx-shared-xlsx-snapshot.diff
@@ -340,15 +340,15 @@
      rComments->endElement( XML_text );
      rComments->endElement( XML_comment );
  }
-#@@ -990,7 +1008,7 @@ XclMacroHelper::SetMacroLink( const Stri
-# }
-# 
-# XclExpShapeObj::XclExpShapeObj( XclExpObjectManager& rRoot, ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ) : 
-#-    XclObjAny( rRoot ),
-#+    XclObjAny( rRoot, xShape ),
-#     XclMacroHelper( rRoot )
-# {
-#     if( SdrObject* pSdrObj = ::GetSdrObjectFromXShape( xShape ) )
+@@ -990,7 +1008,7 @@ XclMacroHelper::SetMacroLink( const Stri
+ }
+ 
+ XclExpShapeObj::XclExpShapeObj( XclExpObjectManager& rRoot, ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ) : 
+-    XclObjAny( rRoot ),
++    XclObjAny( rRoot, xShape ),
+     XclMacroHelper( rRoot )
+ {
+     if( SdrObject* pSdrObj = ::GetSdrObjectFromXShape( xShape ) )
 @@ -1022,7 +1040,7 @@ struct OUStringLess : public std::binary
  {
      bool operator()(const OUString& x, const OUString& y) const
diff --git a/patches/vba/cws-vbasupportdev300.diff b/patches/vba/cws-vbasupportdev300.diff
index d7aa357..0a41592 100644
--- a/patches/vba/cws-vbasupportdev300.diff
+++ b/patches/vba/cws-vbasupportdev300.diff
@@ -14747,7 +14747,7 @@ index 5055149..f3556a6 100644
  void XclExpNote::WriteBody( XclExpStream& rStrm )
  {
      // BIFF5/BIFF7 is written separately
-@@ -1097,6 +1099,70 @@ void XclExpNote::WriteXml( sal_Int32 nAuthorId, XclExpXmlStream& rStrm )
+@@ -1097,6 +1099,72 @@ void XclExpNote::WriteXml( sal_Int32 nAuthorId, XclExpXmlStream& rStrm )
  
  // ============================================================================
  
@@ -14799,7 +14799,9 @@ index 5055149..f3556a6 100644
 +    {
 +        ScMacroInfo* pInfo = ScDrawLayer::GetMacroInfo( pSdrObj );
 +        if ( pInfo && pInfo->GetMacro().getLength() )
-+            SetMacroLink( XclControlHelper::GetXclMacroName( pInfo->GetMacro(), rRoot.GetDocShell() ) ); 
++// FIXME ooo330-m2: XclControlHelper::GetXclMacroName was removed in upstream sources; they started to call XclTools::GetXclMacroName instead; is this enough? it has only one parameter
++//            SetMacroLink( XclControlHelper::GetXclMacroName( pInfo->GetMacro(), rRoot.GetDocShell() ) ); 
++            SetMacroLink( XclTools::GetXclMacroName( pInfo->GetMacro() ) );
 +    }
 +}
 +
@@ -15204,6 +15206,96 @@ index b1ce3a0..fdd537a 100644
  }
  
  // FONT record - font information =============================================
+diff --git sc/source/filter/excel/xlescher.cxx sc/source/filter/excel/xlescher.cxx
+index 0b808d3..fab4df4 100644
+--- sc/source/filter/excel/xlescher.cxx
++++ sc/source/filter/excel/xlescher.cxx
+# FIXME ooo330-m2: XclControlHelper::GetXclMacroName has been removed upstream; not sure how to port it
+#        => keep only the change for XclControlHelper::ExtractFromMacroDescriptor
+#@@ -35,6 +35,13 @@
+# #include "document.hxx"
+# #include "xistream.hxx"
+# #include "xlescher.hxx"
+#+#include "globstr.hrc"
+#+
+#+#include <sfx2/objsh.hxx>
+#+#include <basic/sbstar.hxx>
+#+#include <basic/sbmod.hxx>
+#+#include <basic/sbmeth.hxx>
+#+#include <basic/basmgr.hxx>
+# #include <filter/msfilter/msvbahelper.hxx>
+# 
+# using ::rtl::OUString;
+#@@ -325,6 +332,7 @@ Reference< XControlModel > XclControlHelper::GetControlModel( Reference< XShape
+#     return xCtrlModel;
+# }
+# 
+#+#define EXC_MACRONAME_URI "vnd.sun.star.script:"
+# #define EXC_MACRONAME_PRE "vnd.sun.star.script:Standard."
+# #define EXC_MACRONAME_SUF "?language=Basic&location=document"
+# 
+#@@ -341,7 +349,7 @@ OUString XclControlHelper::GetScMacroName( const String& rXclMacroName, SfxObjec
+#     return OUString();
+# }
+# 
+#-String XclControlHelper::GetXclMacroName( const OUString& rScMacroName )
+#+String XclControlHelper::GetXclMacroName( const OUString& rScMacroName, SfxObjectShell* pDocShell )
+# {
+#     const OUString saMacroNamePre = CREATE_OUSTRING( EXC_MACRONAME_PRE );
+#     const OUString saMacroNameSuf = CREATE_OUSTRING( EXC_MACRONAME_SUF );
+#@@ -350,6 +358,26 @@ String XclControlHelper::GetXclMacroName( const OUString& rScMacroName )
+#     if( (snXclMacroNameLen > 0) && rScMacroName.matchIgnoreAsciiCase( saMacroNamePre, 0 ) &&
+#             rScMacroName.matchIgnoreAsciiCase( saMacroNameSuf, snScMacroNameLen - saMacroNameSuf.getLength() ) )
+#         return rScMacroName.copy( saMacroNamePre.getLength(), snXclMacroNameLen );
+#+
+#+    // This Macro prefix name may not be "vnd.sun.star.script:Standard.", it may be any string that beginning with "vnd.sun.star.script:",
+#+    // because Excel can change the VBA project name, such as the default name is "VBAProject", we can change it to "HelloVBA". We must
+#+    // use library's name of current document to match with the macro name.
+#+    if ( pDocShell )
+#+    {
+#+        BasicManager* pBasicManager = pDocShell->GetBasicManager();
+#+        if ( pBasicManager )
+#+        {
+#+            const OUString sProjectName = pBasicManager->GetName();
+#+            const OUString saMacroNamePre1 = CREATE_OUSTRING(EXC_MACRONAME_URI) + sProjectName + CREATE_OUSTRING(".");
+#+            sal_Int32 snXclMacroNameLen1 = snScMacroNameLen - saMacroNamePre1.getLength() - saMacroNameSuf.getLength();
+#+            if ( (snXclMacroNameLen1 > 0) && rScMacroName.matchIgnoreAsciiCase( saMacroNamePre1, 0 ) &&
+#+                rScMacroName.matchIgnoreAsciiCase( saMacroNameSuf, snScMacroNameLen - saMacroNameSuf.getLength() ) )
+#+            {
+#+                return rScMacroName.copy( saMacroNamePre1.getLength(), snXclMacroNameLen1 );
+#+            }
+#+        }
+#+    }
+#+
+#     return String::EmptyString();
+# }
+# 
+#@@ -385,13 +413,13 @@ bool XclControlHelper::FillMacroDescriptor( ScriptEventDescriptor& rDescriptor,
+# }
+# 
+# String XclControlHelper::ExtractFromMacroDescriptor(
+#-        const ScriptEventDescriptor& rDescriptor, XclTbxEventType eEventType )
+#+        const ScriptEventDescriptor& rDescriptor, XclTbxEventType eEventType, SfxObjectShell* pShell )
+# {
+#     if( (rDescriptor.ScriptCode.getLength() > 0) &&
+#             rDescriptor.ScriptType.equalsIgnoreAsciiCaseAscii( EXC_MACROSCRIPT ) &&
+#             rDescriptor.ListenerType.equalsAscii( spTbxListenerData[ eEventType ].mpcListenerType ) &&
+#             rDescriptor.EventMethod.equalsAscii( spTbxListenerData[ eEventType ].mpcEventMethod ) )
+#-        return GetXclMacroName( rDescriptor.ScriptCode );
+#+        return GetXclMacroName( rDescriptor.ScriptCode, pShell );
+#     return String::EmptyString();
+# }
+# 
+# FIXME ooo330-m2: this hunk is copy of the above hunk; it does the change only for XclControlHelper::ExtractFromMacroDescriptor
+@@ -385,7 +413,7 @@ bool XclControlHelper::FillMacroDescriptor( ScriptEventDescriptor& rDescriptor,
+ }
+ 
+ String XclControlHelper::ExtractFromMacroDescriptor(
+-        const ScriptEventDescriptor& rDescriptor, XclTbxEventType eEventType )
++        const ScriptEventDescriptor& rDescriptor, XclTbxEventType eEventType, SfxObjectShell* pShell )
+ {
+     if( (rDescriptor.ScriptCode.getLength() > 0) &&
+             rDescriptor.ScriptType.equalsIgnoreAsciiCaseAscii( "Script" ) &&
 diff --git sc/source/filter/excel/xltoolbar.cxx sc/source/filter/excel/xltoolbar.cxx
 new file mode 100644
 index 0000000..019a146
@@ -16012,6 +16104,33 @@ index 1d3047e..ba3448f 100644
  };
  
  // FONT record - font information =============================================
+diff --git sc/source/filter/inc/xlescher.hxx sc/source/filter/inc/xlescher.hxx
+index 6af4205..847a5fa 100644
+--- sc/source/filter/inc/xlescher.hxx
++++ sc/source/filter/inc/xlescher.hxx
+# FIXME ooo330-m2: the related code in sc/source/filter/excel/xlescher.cxx has been heavily changed by upstream
+#                  => the related hunks for xlescher.cxx were removed from this diff at all
+#                  the original version can be found in cws-vbasupportdev300_m83.diff
+#@@ -433,8 +433,9 @@ public:
+# 
+#     /** Returns the Calc macro name from an Excel macro name. */
+#     static ::rtl::OUString GetScMacroName( const String& rXclMacroName, SfxObjectShell* pShell = NULL );
+#+
+#     /** Returns the Excel macro name from a Calc macro name. */
+#-    static String       GetXclMacroName( const ::rtl::OUString& rScMacroName );
+#+    static String       GetXclMacroName( const ::rtl::OUString& rScMacroName, SfxObjectShell* pShell = NULL );
+# 
+#     /** Fills the macro descriptor according to the passed macro name. */
+#     static bool         FillMacroDescriptor(
+@@ -444,7 +445,7 @@ public:
+     /** Tries to extract an Excel macro name from the passed macro descriptor. */
+     static String       ExtractFromMacroDescriptor(
+                             const ::com::sun::star::script::ScriptEventDescriptor& rDescriptor,
+-                            XclTbxEventType eEventType );
++                            XclTbxEventType eEventType, SfxObjectShell* pShell = NULL );
+ };
+ 
+ // ============================================================================
 diff --git sc/source/filter/xcl97/xcl97esc.cxx sc/source/filter/xcl97/xcl97esc.cxx
 index b7e5de8..58ef6ad 100644
 --- sc/source/filter/xcl97/xcl97esc.cxx
commit c01ea15d93d6c7d911d321a0aad3b38792be28e8
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 3 19:08:28 2010 +0200

    fix sw/source/ui/vba/vbadocument.cxx compilation
    
    * patches/vba/cws-vbasupportdev300.diff: tools/urlobj.hxx must be
      explicitely included

diff --git a/patches/vba/cws-vbasupportdev300.diff b/patches/vba/cws-vbasupportdev300.diff
index b3f0306..d7aa357 100644
--- a/patches/vba/cws-vbasupportdev300.diff
+++ b/patches/vba/cws-vbasupportdev300.diff
@@ -34941,7 +34941,7 @@ index 98692d5..2de324b 100644
  
  #include <vbahelper/helperdecl.hxx>
  #include <wordvbahelper.hxx>
-@@ -50,7 +52,13 @@
+@@ -50,7 +52,14 @@
  #include "vbafield.hxx"
  #include "vbapagesetup.hxx"
  #include "vbasections.hxx"
@@ -34952,6 +34952,7 @@ index 98692d5..2de324b 100644
 +#include "vbaframes.hxx"
 +#include "vbaformfields.hxx"
 +#include <osl/file.hxx>
++#include <tools/urlobj.hxx>
  
  using namespace ::ooo::vba;
  using namespace ::com::sun::star;
commit 30bea89630c4b668797b156c77a66b0c3fc3b3bd
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 3 18:18:50 2010 +0200

    fix oox/source/ole/vbacontrol.cxx compilation
    
    * patches/vba/vba-container-controls.diff: add back missing hunk
      against vbahelper.hxx; only part got upstream

diff --git a/patches/vba/vba-container-controls.diff b/patches/vba/vba-container-controls.diff
index 1dbefe9..182967d 100644
--- a/patches/vba/vba-container-controls.diff
+++ b/patches/vba/vba-container-controls.diff
@@ -360,6 +360,14 @@ index 085a2f5..ddfabbf 100755
      AxPairData          maPos;              /// Position in parent container.
      sal_Int32           mnId;               /// Control identifier.
      sal_Int32           mnHelpContextId;    /// Help context identifier.
+@@ -130,6 +130,7 @@ public:
+         and converts all control properties. */
+     void                createAndConvert(
+                             sal_Int32 nCtrlIndex,
++                            const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& rxDocModel,
+                             const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& rxParentNC,
+                             const ControlConverter& rConv ) const;
+ 
 @@ -140,6 +143,7 @@ protected:
  
      /** Converts all control properties, and inserts and converts embedded controls. */
commit 1249d2026a684cf6d54cc9e93add9cd71b7f816e
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 3 18:04:38 2010 +0200

    Do not duplicate VbaSiteModel::isVisible() definition
    
    * patches/vba/vba-container-controls.diff: already is defined in ooo330-m2

diff --git a/patches/vba/vba-container-controls.diff b/patches/vba/vba-container-controls.diff
index 09296d0..1dbefe9 100644
--- a/patches/vba/vba-container-controls.diff
+++ b/patches/vba/vba-container-controls.diff
@@ -721,7 +721,7 @@ index 17cacce..a10485c 100755
  using ::com::sun::star::io::XInputStreamProvider;
  using ::com::sun::star::lang::XMultiServiceFactory;
  using ::com::sun::star::uno::Any;
-@@ -221,15 +222,14 @@ bool VbaSiteModel::importBinaryModel( BinaryInputStream& rInStrm )
+@@ -221,15 +222,10 @@ bool VbaSiteModel::importBinaryModel( BinaryInputStream& rInStrm )
      aReader.skipUndefinedProperty();
      aReader.readStringProperty( maToolTip );
      aReader.skipStringProperty();   // license key
@@ -733,12 +733,10 @@ index 17cacce..a10485c 100755
  }
  
 -void VbaSiteModel::moveRelative( const AxPairData& rDistance )
-+bool VbaSiteModel::isVisible() const
- {
+-{
 -    maPos.first += rDistance.first;
 -    maPos.second += rDistance.second;
-+    return getFlag( mnFlags, VBA_SITE_VISIBLE );
- }
+-}
  
  bool VbaSiteModel::isVisible() const
 @@ -274,12 +274,12 @@ ControlModelRef VbaSiteModel::createControlModel( const AxClassTable& rClassTabl
commit 498081fecd61e1d2b7580e90aedc1e3af38eb68c
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 3 17:52:29 2010 +0200

    fix vbahelper compilation without oox
    
    * patches/vba/vba-container-controls.diff: can't use mpGraphicHelper
    * patches/vba/vbahelper-no-oox.diff: do not link against liboox

diff --git a/patches/vba/vba-container-controls.diff b/patches/vba/vba-container-controls.diff
index 791ed29..09296d0 100644
--- a/patches/vba/vba-container-controls.diff
+++ b/patches/vba/vba-container-controls.diff
@@ -5206,25 +5206,29 @@ index 89892d7..c02569d 100644
 #     }
 # 
 #     double ConcreteXShapeGeometryAttributes::getLeft()
-@@ -987,11 +987,17 @@ void setOrAppendPropertyValue( uno::Sequ
- 
- // ====UserFormGeomentryHelper====
- //---------------------------------------------
--UserFormGeometryHelper::UserFormGeometryHelper( const uno::Reference< uno::XComponentContext >& /*xContext*/, const uno::Reference< awt::XControl >& xControl )
-+UserFormGeometryHelper::UserFormGeometryHelper( const uno::Reference< uno::XComponentContext >& xContext, const uno::Reference< awt::XControl >& xControl )
- {
-     if ( !xControl.is() )
-         throw uno::RuntimeException();
- 
-+    uno::Reference< lang::XMultiServiceFactory > xFac( ( xContext.is() ? xContext->getServiceManager() : NULL ), uno::UNO_QUERY_THROW );
-+    // TODO We need access to a document GraphicHelper (  shared with oox ? )
-+    // maybe wrap this in an uno service? It's purty naff creating these
-+    // per control object
-+    mpGraphicHelper.reset( new oox::GraphicHelper( xFac, NULL ) );
-+
-     mxControlUnits.set( xControl->getPeer(), uno::UNO_QUERY_THROW );
-     mxModel.set( xControl->getModel(), uno::UNO_QUERY_THROW );
- }
+#
+#
+# FIXME ooo330-m2: this is alternative hunk instead of the above one
+#                  needed to be disabled because mpGraphicHelper was not defined
+#@@ -987,11 +987,17 @@ void setOrAppendPropertyValue( uno::Sequ
+# 
+# // ====UserFormGeomentryHelper====
+# //---------------------------------------------
+#-UserFormGeometryHelper::UserFormGeometryHelper( const uno::Reference< uno::XComponentContext >& /*xContext*/, const uno::Reference< awt::XControl >& xControl )
+#+UserFormGeometryHelper::UserFormGeometryHelper( const uno::Reference< uno::XComponentContext >& xContext, const uno::Reference< awt::XControl >& xControl )
+# {
+#     if ( !xControl.is() )
+#         throw uno::RuntimeException();
+# 
+#+    uno::Reference< lang::XMultiServiceFactory > xFac( ( xContext.is() ? xContext->getServiceManager() : NULL ), uno::UNO_QUERY_THROW );
+#+    // TODO We need access to a document GraphicHelper (  shared with oox ? )
+#+    // maybe wrap this in an uno service? It's purty naff creating these
+#+    // per control object
+#+    mpGraphicHelper.reset( new oox::GraphicHelper( xFac, NULL ) );
+#+
+#     mxControlUnits.set( xControl->getPeer(), uno::UNO_QUERY_THROW );
+#     mxModel.set( xControl->getModel(), uno::UNO_QUERY_THROW );
+# }
 diff --git vbahelper/util/makefile.mk vbahelper/util/makefile.mk
 index 33c4900..4b08391 100644
 --- vbahelper/util/makefile.mk
diff --git a/patches/vba/vbahelper-no-oox.diff b/patches/vba/vbahelper-no-oox.diff
index 94214b1..2c38831 100644
--- a/patches/vba/vbahelper-no-oox.diff
+++ b/patches/vba/vbahelper-no-oox.diff
@@ -36,3 +36,13 @@ index ded9ee2..20001db 100644
  vba	vbahelper									usr1	-	all	  vba_mkout NULL
  #vba	vbahelper\inc								nmake	-	all	vba_inc NULL
  vba	vbahelper\source\vbahelper                        nmake	-	all	vba_vbahelper NULL
+--- vbahelper/util/makefile.mk.old	2010-08-03 15:12:54.000000000 +0200
++++ vbahelper/util/makefile.mk	2010-08-03 17:44:26.000000000 +0200
+@@ -61,7 +61,6 @@ SHL1STDLIBS=       \
+         $(VCLLIB) \
+         $(SVTOOLLIB)    \
+         $(MSFILTERLIB)    \
+-		$(OOXLIB)    \
+         $(TKLIB)
+ 
+ SHL1DEPN=
commit 082081ace6ae9b44e195cd75d0be10da3bd1c07d
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 3 17:33:42 2010 +0200

    update piece-*.diff for ooo330-m2
    
    * patches/dev300/piece-desktop.diff:
    * patches/dev300/piece-xmerge.diff: update for ooo330-m2

diff --git a/patches/dev300/piece-desktop.diff b/patches/dev300/piece-desktop.diff
index a9b020d..f0233d7 100644
--- a/patches/dev300/piece-desktop.diff
+++ b/patches/dev300/piece-desktop.diff
@@ -1,9 +1,9 @@
 --- desktop/prj/build.lst.old	2009-10-14 15:37:58.000000000 +0200
 +++ desktop/prj/build.lst	2009-10-14 15:46:50.000000000 +0200
-@@ -39,7 +39,6 @@ dt	desktop\source\deployment\registry\he
+@@ -38,7 +38,6 @@ dt	desktop\source\deployment\registry\he
  dt	desktop\source\deployment\registry\executable		nmake	-	all	dt_dp_registry_executable dt_inc NULL
  dt	desktop\scripts 						nmake	-	u	dt_scripts dt_inc NULL
- dt	desktop\util							nmake	-	all	dt_util dt_app dt_so_comp dt_spl dt_uwrapper.u dt_usplash.u dt_wrapper.w dt_officeloader.w dt_officeloader_unx.u dt_migr dt_rebase.w NULL
+ dt	desktop\util							nmake	-	all	dt_util dt_app dt_pagein.u dt_so_comp dt_spl dt_uwrapper.u dt_usplash.u dt_wrapper.w dt_officeloader.w dt_officeloader_unx.u dt_migr dt_rebase.w NULL
 -dt	desktop\zipintro							nmake	-	all	dt_zipintro NULL
  dt  desktop\registry\data\org\openoffice\Office                     nmake   -  all sn_regconfig NULL
  dt  desktop\source\registration\com\sun\star\servicetag\resources   get     -  all sn_svctagres NULL
diff --git a/patches/dev300/piece-xmerge.diff b/patches/dev300/piece-xmerge.diff
index 4844e4e..aca6e17 100644
--- a/patches/dev300/piece-xmerge.diff
+++ b/patches/dev300/piece-xmerge.diff
@@ -1,291 +1,7 @@
-diff -u -r xmerge/java/build.xml xmerge/java/build.xml
---- xmerge/java/build.xml	2008-04-10 18:13:36.000000000 +0100
-+++ xmerge/java/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -60,10 +60,10 @@
- 		<pathelement location="${solar.jar}/xalan.jar"/>
- 		<pathelement location="${solar.jar}/xml-apis.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
--        <pathelement location="${solar.jar}/jurt.jar"/>
--        <pathelement location="${solar.jar}/unoil.jar"/>
--        <pathelement location="${solar.jar}/ridl.jar"/>
--        <pathelement location="${solar.jar}/juh.jar"/>
-+        <pathelement location="${split.ure}/share/java/jurt.jar"/>
-+        <pathelement location="${split.install}/classes/unoil.jar"/>
-+        <pathelement location="${split.ure}/share/java/ridl.jar"/>
-+        <pathelement location="${split.ure}/share/java/juh.jar"/>
- 		<pathelement location="${solar.jar}/jmc.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/build.xml xmerge/java/org/openoffice/xmerge/build.xml
---- xmerge/java/org/openoffice/xmerge/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -56,8 +56,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/dom/build.xml xmerge/java/org/openoffice/xmerge/converter/dom/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/dom/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/dom/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--	<pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+    <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/xml/build.xml xmerge/java/org/openoffice/xmerge/converter/xml/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/xml/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/xml/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/xml/sxc/build.xml xmerge/java/org/openoffice/xmerge/converter/xml/sxc/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/xml/sxc/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/xml/sxc/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/build.xml xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-         <pathelement location="${solar.jar}/jmc.jar"/>
-     </path>
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/build.xml xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-     </path>
- 
-     <!-- set wether we want to compile with or without deprecation -->
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/build.xml xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-     </path>
- 
-     <!-- set wether we want to compile with or without deprecation -->
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/build.xml xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-     </path>
- 
-     <!-- set wether we want to compile with or without deprecation -->
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/build.xml xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/xml/sxw/build.xml xmerge/java/org/openoffice/xmerge/converter/xml/sxw/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/xml/sxw/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/xml/sxw/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/build.xml xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/build.xml xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-     </path>
- 
-     <!-- set wether we want to compile with or without deprecation -->
-diff -u -r xmerge/java/org/openoffice/xmerge/converter/xml/xslt/build.xml xmerge/java/org/openoffice/xmerge/converter/xml/xslt/build.xml
---- xmerge/java/org/openoffice/xmerge/converter/xml/xslt/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/converter/xml/xslt/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -58,8 +58,8 @@
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
- 	<pathelement location="${solar.jar}/xalan.jar"/>
--	<pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+    <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/merger/build.xml xmerge/java/org/openoffice/xmerge/merger/build.xml
---- xmerge/java/org/openoffice/xmerge/merger/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/merger/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/merger/diff/build.xml xmerge/java/org/openoffice/xmerge/merger/diff/build.xml
---- xmerge/java/org/openoffice/xmerge/merger/diff/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/merger/diff/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/merger/merge/build.xml xmerge/java/org/openoffice/xmerge/merger/merge/build.xml
---- xmerge/java/org/openoffice/xmerge/merger/merge/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/merger/merge/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -57,8 +57,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/test/build.xml xmerge/java/org/openoffice/xmerge/test/build.xml
---- xmerge/java/org/openoffice/xmerge/test/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/test/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -56,8 +56,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/util/build.xml xmerge/java/org/openoffice/xmerge/util/build.xml
---- xmerge/java/org/openoffice/xmerge/util/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/util/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -56,8 +56,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/java/org/openoffice/xmerge/util/registry/build.xml xmerge/java/org/openoffice/xmerge/util/registry/build.xml
---- xmerge/java/org/openoffice/xmerge/util/registry/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/java/org/openoffice/xmerge/util/registry/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -56,8 +56,8 @@
-     <!-- classpath settings for javac tasks -->
-     <path id="classpath">
-         <pathelement location="${build.class}"/>
--        <pathelement location="${solar.jar}/parser.jar"/>
--        <pathelement location="${solar.jar}/jaxp.jar"/>
-+        <pathelement location="${split.dev}/bin/parser.jar"/>
-+        <pathelement location="${split.dev}/bin/jaxp.jar"/>
-         <pathelement location="${solar.jar}/xerces.jar"/>
-     </path>
- 
-diff -u -r xmerge/source/bridge/build.xml xmerge/source/bridge/build.xml
---- xmerge/source/bridge/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/source/bridge/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -38,10 +38,10 @@
+diff -purN xmerge.old/source/bridge/build.xml xmerge/source/bridge/build.xml
+--- xmerge.old/source/bridge/build.xml	2010-07-22 13:12:44.000000000 +0200
++++ xmerge/source/bridge/build.xml	2010-08-03 17:29:47.000000000 +0200
+@@ -34,10 +34,10 @@
  
      <path id="classpath">
          <pathelement location="${build.dir}/xmerge.jar"/>
@@ -300,10 +16,10 @@ diff -u -r xmerge/source/bridge/build.xml xmerge/source/bridge/build.xml
      </path>
  
  
-diff -u -r xmerge/source/xmerge/build.xml xmerge/source/xmerge/build.xml
---- xmerge/source/xmerge/build.xml	2008-08-11 15:12:58.000000000 +0100
-+++ xmerge/source/xmerge/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -43,10 +43,10 @@
+diff -purN xmerge.old/source/xmerge/build.xml xmerge/source/xmerge/build.xml
+--- xmerge.old/source/xmerge/build.xml	2010-07-22 13:12:44.000000000 +0200
++++ xmerge/source/xmerge/build.xml	2010-08-03 17:29:35.000000000 +0200
+@@ -39,10 +39,10 @@
      <path id="classpath">
          <pathelement location="${env.XML_APIS_JAR}"/>
          <pathelement location="${env.XERCES_JAR}"/>
@@ -318,10 +34,10 @@ diff -u -r xmerge/source/xmerge/build.xml xmerge/source/xmerge/build.xml
      </path>
  
  
-diff -u -r xmerge/util/build.xml xmerge/util/build.xml
---- xmerge/util/build.xml	2008-04-10 21:22:43.000000000 +0100
-+++ xmerge/util/build.xml	2008-08-11 20:49:44.000000000 +0100
-@@ -41,10 +41,10 @@
+diff -purN xmerge.old/util/build.xml xmerge/util/build.xml
+--- xmerge.old/util/build.xml	2010-07-22 13:12:44.000000000 +0200
++++ xmerge/util/build.xml	2010-08-03 17:30:02.000000000 +0200
+@@ -37,10 +37,10 @@
      <path id="classpath">
          <pathelement location="${env.XML_APIS_JAR}"/>
          <pathelement location="${env.XERCES_JAR}"/>
commit 268fd17ae9b6f3688869f24c2ab9fb8c2bb0ea35
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 3 16:58:35 2010 +0200

    fix build problem in basic/source/runtime/methods.cxx
    
    * patches/vba/cws-vbasupportdev300.diff: there was another implementation
      of DoEvents in basic/source/runtime/methods1.cxx

diff --git a/patches/vba/cws-vbasupportdev300.diff b/patches/vba/cws-vbasupportdev300.diff
index 5acfba7..b3f0306 100644
--- a/patches/vba/cws-vbasupportdev300.diff
+++ b/patches/vba/cws-vbasupportdev300.diff
@@ -2087,22 +2087,24 @@ index 41e7df4..cd38296 100644
                      xSFI->createFolder( getFullPath( aPath ) );
                  }
                  catch( Exception & )
-@@ -858,6 +898,15 @@ RTLFUNC(SendKeys) // JSM
-     StarBASIC::Error(SbERR_NOT_IMPLEMENTED);
- }
- 
-+// Stub, basic already yields by default
-+RTLFUNC(DoEvents)
-+{
-+    (void)pBasic;
-+    (void)bWrite;
-+
-+	rPar.Get(0)->PutInteger( 0 );
-+}
-+
- RTLFUNC(Exp)
- {
-     (void)pBasic;
+# FIXME ooo330-m2: there is another implementation in the upstream sources (in basic/source/runtime/methods1.cxx)
+#                  the other implementation does not call rPar.Get(0)->PutInteger( 0 );  !!!!
+#@@ -858,6 +898,15 @@ RTLFUNC(SendKeys) // JSM
+#     StarBASIC::Error(SbERR_NOT_IMPLEMENTED);
+# }
+# 
+#+// Stub, basic already yields by default
+#+RTLFUNC(DoEvents)
+#+{
+#+    (void)pBasic;
+#+    (void)bWrite;
+#+
+#+	rPar.Get(0)->PutInteger( 0 );
+#+}
+#+
+# RTLFUNC(Exp)
+# {
+#     (void)pBasic;
 @@ -940,6 +989,26 @@ RTLFUNC(Hex)
      }
  }
@@ -3154,14 +3156,15 @@ index c9baf95..55f88fd 100644
  { "Red",        SbxINTEGER,   1 | _FUNCTION, RTLNAME(Red),0                 },
    { "RGB-Value",     SbxLONG, 0,NULL,0 },
  { "Reset",          SbxNULL,      0 | _FUNCTION, RTLNAME(Reset),0           },
-@@ -474,6 +577,7 @@ static Methods aMethods[] = {
- { "SendKeys",       SbxNULL,      2 | _FUNCTION, RTLNAME(SendKeys),0        },
-   { "String",       SbxSTRING, 0,NULL,0 },
-   { "Wait",         SbxBOOL,          _OPT, NULL,0 },
-+{ "DoEvents",       SbxINTEGER,      0 | _FUNCTION, RTLNAME(DoEvents),0        },
- { "SetAttr",        SbxNULL,      2 | _FUNCTION, RTLNAME(SetAttr),0         },
-   { "File"  ,       SbxSTRING, 0,NULL,0 },
-   { "Attributes",   SbxINTEGER, 0,NULL,0 },
+# FIXME ooo330-m2: there is another implementation in the upstream sources (in basic/source/runtime/methods1.cxx)
+#@@ -474,6 +577,7 @@ static Methods aMethods[] = {
+# { "SendKeys",       SbxNULL,      2 | _FUNCTION, RTLNAME(SendKeys),0        },
+#   { "String",       SbxSTRING, 0,NULL,0 },
+#   { "Wait",         SbxBOOL,          _OPT, NULL,0 },
+#+{ "DoEvents",       SbxINTEGER,      0 | _FUNCTION, RTLNAME(DoEvents),0        },
+# { "SetAttr",        SbxNULL,      2 | _FUNCTION, RTLNAME(SetAttr),0         },
+#   { "File"  ,       SbxSTRING, 0,NULL,0 },
+#   { "Attributes",   SbxINTEGER, 0,NULL,0 },
 @@ -487,6 +591,15 @@ static Methods aMethods[] = {
    { "WindowStyle",  SbxINTEGER,       _OPT, NULL,0 },
  { "Sin",            SbxDOUBLE,    1 | _FUNCTION, RTLNAME(Sin),0             },
commit 345f510560bae5953a55fe5966b73f12e25424e0
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 3 16:26:10 2010 +0200

    build failure in basic/source/inc/namecont.hxx
    
    * patches/vba/cws-vbasupportdev300.diff: need to use
      WeakComponentImplHelper9 instead of WeakComponentImplHelper8
      because we added one more parameter

diff --git a/patches/vba/cws-vbasupportdev300.diff b/patches/vba/cws-vbasupportdev300.diff
index a884d58..5acfba7 100644
--- a/patches/vba/cws-vbasupportdev300.diff
+++ b/patches/vba/cws-vbasupportdev300.diff
@@ -1860,11 +1860,20 @@ index 7bbe896..4cd5ce1 100644
  #include <com/sun/star/script/XLibraryContainer3.hpp>
  #include <com/sun/star/container/XNameContainer.hpp>
  #include <com/sun/star/container/XContainer.hpp>
+@@ -60,6 +60,7 @@
+ 
+ #include <cppuhelper/implbase2.hxx>
+ #include <cppuhelper/compbase8.hxx>
++#include <cppuhelper/compbase9.hxx>
+ #include <cppuhelper/interfacecontainer.hxx>
+ #include <com/sun/star/script/XVBACompat.hpp>
+ 
 @@ -67,13 +69,14 @@ class BasicManager;
  namespace basic
  {
  
- typedef ::cppu::WeakComponentImplHelper8< 
+-typedef ::cppu::WeakComponentImplHelper8< 
++typedef ::cppu::WeakComponentImplHelper9< 
      ::com::sun::star::lang::XInitialization,
      ::com::sun::star::script::XStorageBasedLibraryContainer,
      ::com::sun::star::script::XLibraryContainerPassword,
commit 3debdaea10de38d4731ef096270fff867deba174
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 3 16:06:59 2010 +0200

    compilation proiblem in toolkit/source/controls/unocontrols.cxx
    
    * patches/vba/vba-container-controls.diff: the class ImageProducerControlModel
      has been renamed to GraphicControlModel

diff --git a/patches/vba/vba-container-controls.diff b/patches/vba/vba-container-controls.diff
index 75576d9..791ed29 100644
--- a/patches/vba/vba-container-controls.diff
+++ b/patches/vba/vba-container-controls.diff
@@ -4607,7 +4607,7 @@ index 30246ae..71fcd3a 100644
          return xGraphic;
      }
  
-+    uno::Reference< graphic::XGraphic > ImageProducerControlModel::getGraphicFromURL_nothrow( const ::rtl::OUString& _rURL )
++    uno::Reference< graphic::XGraphic > GraphicControlModel::getGraphicFromURL_nothrow( const ::rtl::OUString& _rURL )
 +    {
 +        return ImageHelper::getGraphicAndGraphicObjectFromURL_nothrow( mxGrfObj, _rURL );
 +    }
commit 977cee95b15ccef9186802b3341dfcd27dc0415c
Author: Petr Mladek <pmladek at walk.suse.cz>
Date:   Tue Aug 3 15:40:11 2010 +0200

    update vba diffs for ooo330-m3
    
    * updated for ooo330-m3:
    * patches/dev300/calc-distributed-cell-text-xmloff.diff:
    * patches/dev300/calc-formula-variable-sep-config-check-sc.diff:
    * patches/dev300/calc-insert-current-time-sc.diff:
    * patches/dev300/calc-pdf-export-allow-filtered-range-sc.diff:
    * patches/dev300/calc-perf-import-dbf-sc.diff:
    * patches/dev300/calc-perf-xls-import-cellstyles.diff:
    * patches/dev300/pptx-autoplay-fix.diff:
    * patches/dev300/writer-doc-comparison.diff:
    * patches/dev300/xlsx-shared-xlsx-shared-import-and-export.diff:
    * patches/dev300/xlsx-shared-xlsx-snapshot.diff:
    * patches/vba/cws-vbasupportdev300.diff:
    * patches/vba/oox-projectname-oobuild-specifix.diff:
    * patches/vba/vba-container-controls.diff:
    * patches/vba/vba-oox-autocodename.diff:
    * patches/vba/vba-oox-olenameoverride.diff:
    * patches/vba/vbahelper-no-oox.diff: update for ooo320-m2
    
    * patches/vba/cws-vbasupportdev300-fake.diff: bin obsolete
    
    * patches/dev300/apply: update to follow the above changes

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 2c3d3aa..6e761ba 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -1548,33 +1548,26 @@ mono-climaker-bridgetest.diff
 SectionOwner => noelpwer
 # FIXME: half of the diff is somehow fixed to apply by pmladek
 #        few things need double checking
-# !!!!!IMPORTANT!!!!: enable two hunks in xlsx-shared-xlsx-snapshot.diff again
-#                     enable the right hunks in writer-doc-comparison.diff again
-# FIXME ooo330-m2 partly updated for m2 cws-vbasupportdev300.diff
+cws-vbasupportdev300.diff
 # FIXME ooo330-m2 old version (m83) of the diff cws-vbasupportdev300_m83.diff, noelpwer
-# FIXME ooo330-m2 the fake diff adds just stuff needed by other diffs; it must be
-#                 removed after the real cws-vbasupportdev300.diff is enabled
-cws-vbasupportdev300-fake.diff
 
 # fix vbasupport for field related changes ( note this code
 # is disabled in vbasupportdev300 upstream )
-# FIXME ooo330-m2 cws-vbasupportdev300_m83-fix.diff, cbosdo
-# FIXME ooo330-m2 vba-enable-fieldrelatedbits.diff
-# FIXME ooo330-m2 vba-container-controls.diff
+cws-vbasupportdev300_m83-fix.diff, cbosdo
+vba-enable-fieldrelatedbits.diff
+vba-container-controls.diff
 # need to adapt ooo-build wrt the changes intorduced into container_controls
-# FIXME ooo330-m2 oox-projectname-oobuild-specifix.diff
+oox-projectname-oobuild-specifix.diff
 # tweak oox filter to handle any passed generated code names 
 # there is a strange scenario with one cust doc where a code module is missing
-# FIXME ooo330-m2 vba-oox-autocodename.diff,  n#507768
+vba-oox-autocodename.diff,  n#507768
 # tweak oox filter to handle strange scenario where there might be some
 # missing codenmames in excel
-# FIXME ooo330-m2: need to uncomment the right hunk in xlsx-shared-xlsx-shared-import-and-export.diff that
-#                  depends on this changes in oox/source/xls/excelfilter.cxx
-# FIXME ooo330-m2 vba-oox-olenameoverride.diff, n#359933, n#403974 
+vba-oox-olenameoverride.diff, n#359933, n#403974 
 # fix strange ranges seperator regression problem
-# FIXME ooo330-m2 fix-name-range-separator.diff, n#597351
+fix-name-range-separator.diff, n#597351
 # remove dependency of vbahelper on oox ( added by container_controls.diff )
-# FIXME ooo330-m2 vbahelper-no-oox.diff
+vbahelper-no-oox.diff
 [ VBAUntested ]
 SectionOwner => noelpwer
 # KEEP - unfinished autotext stuff 
@@ -2959,14 +2952,10 @@ pptx-fix-connector-crash.diff, n#499129, thorsten
 # Snapshot of the xlsx export filter at the time of creation of ooxml03
 # This is until 0453-Fix-formatted-text-change-tracking.patch, inluding, and
 # should contain all the available changes.
-# FIXME ooo330-m2 disabled two hunks in sc/source/filter/excel/xeescher.cxx
-#                 they depend on cws-vbasupportdev300.diff
 xlsx-shared-xlsx-snapshot.diff
 
 # Make the xlsx export and import work at the same time
 # (converts the xlsx export to a UNO filter)
-# FIXME ooo330-m2: commented out hunk for oox/source/xls/excelfilter.cxx
-#                  need to use it after vba-oox-olenameoverride.diff is applied again
 xlsx-shared-xlsx-shared-import-and-export.diff
 
 xlsx-shared-xlsx-arabic-export-crash.diff, n#497419, janneke
@@ -3109,7 +3098,6 @@ SectionOwner => jholesov
 # http://gsoc-tzvetelina.blogspot.com/
 
 # Improved document comparison
-# FIXME ooo330-m2 use the right hunks with cws-vbasupportdev300.diff
 writer-doc-comparison.diff, tzvetelina
 # Help files for the document comparison
 #writer-doc-comparison-help.diff, tzvetelina
@@ -3394,12 +3382,10 @@ svtools-wmf-clean-warnings.diff, rodo
 # Improve import performance of dbf files by ~80%.
 calc-perf-import-dbf-connectivity.diff, n#558505, kohei
 calc-perf-import-dbf-dbaccess.diff,     n#558505, kohei
-# FIXME ooo330-m2: enable the right hunks together with vba diffs
 calc-perf-import-dbf-sc.diff,           n#558505, kohei
 
 # Speed up row height data import from ods documents.
 calc-perf-ods-import-cellstyles.diff, n#582693, kohei
-# FIXME ooo330-m2: enable the right hunks together with vba diffs
 calc-perf-xls-import-cellstyles.diff, n#582693, kohei
 calc-perf-xls-import-cellstyles-fix.diff, n#594266, kohei
 calc-perf-xls-import-cellstyles-fix2.diff, n#594235, kohei
diff --git a/patches/dev300/calc-distributed-cell-text-xmloff.diff b/patches/dev300/calc-distributed-cell-text-xmloff.diff
index 7de8d83..7690dc1 100644
--- a/patches/dev300/calc-distributed-cell-text-xmloff.diff
+++ b/patches/dev300/calc-distributed-cell-text-xmloff.diff
@@ -9,23 +9,14 @@ diff --git xmloff/inc/xmlnmspe.hxx xmloff/inc/xmlnmspe.hxx
 index 33de6ea..79197cf 100644
 --- xmloff/inc/xmlnmspe.hxx
 +++ xmloff/inc/xmlnmspe.hxx
-# FIXME ooo330-m2: this version of the hunk depends on the vba diffs
-#@@ -104,6 +104,7 @@ XML_OLD_NAMESPACE( META,	6U )
-# 
-# // experimental namespaces
-# XML_NAMESPACE( FIELD,			100U )
-#+XML_NAMESPACE( CSS3TEXT,        103U )      // CSS Text Level 3
-# XML_NAMESPACE( FORMX,           101U )      // form interop extensions
-# 
-# 
 @@ -104,6 +104,7 @@ XML_OLD_NAMESPACE( META,	6U )
  
  // experimental namespaces
  XML_NAMESPACE( FIELD,			100U )
 +XML_NAMESPACE( CSS3TEXT,        103U )      // CSS Text Level 3
+ XML_NAMESPACE( FORMX,           101U )      // form interop extensions
  
  
- #endif	//  _XMLOFF_XMLNMSPE_HXX
 diff --git xmloff/inc/xmloff/xmltoken.hxx xmloff/inc/xmloff/xmltoken.hxx
 index c61eac4..212a4c3 100644
 --- xmloff/inc/xmloff/xmltoken.hxx
diff --git a/patches/dev300/calc-formula-variable-sep-config-check-sc.diff b/patches/dev300/calc-formula-variable-sep-config-check-sc.diff
index 83a0988..6cda23f 100644
--- a/patches/dev300/calc-formula-variable-sep-config-check-sc.diff
+++ b/patches/dev300/calc-formula-variable-sep-config-check-sc.diff
@@ -26,27 +26,15 @@ diff --git sc/inc/globstr.hrc sc/inc/globstr.hrc
 index 7503ce2..629cbb4 100644
 --- sc/inc/globstr.hrc
 +++ sc/inc/globstr.hrc
-# FIXME ooo330-m2: this version of the hunk depends on the vba stuff
-#@@ -592,8 +592,10 @@
-# #define STR_FORM_DROPDOWN           451
-# #define STR_FORM_SPINNER            452
-# #define STR_FORM_SCROLLBAR          453
-#+
-#+#define STR_OPTIONS_WARN_SEPARATORS 454
-#                                        
-#-#define STR_COUNT                       454
-#+#define STR_COUNT                       455
-# 
-# #endif
-# 
-@@ -577,7 +577,9 @@
- #define STR_UNDO_SET_TAB_BG_COLOR       438
- #define STR_UNDO_SET_MULTI_TAB_BG_COLOR 439
- 
--#define STR_COUNT                       440
-+#define STR_OPTIONS_WARN_SEPARATORS 440
+@@ -592,8 +592,10 @@
+ #define STR_FORM_DROPDOWN           451
+ #define STR_FORM_SPINNER            452
+ #define STR_FORM_SCROLLBAR          453
 +
-+#define STR_COUNT                       441
++#define STR_OPTIONS_WARN_SEPARATORS 454
+                                        
+-#define STR_COUNT                       454
++#define STR_COUNT                       455
  
  #endif
  
diff --git a/patches/dev300/calc-insert-current-time-sc.diff b/patches/dev300/calc-insert-current-time-sc.diff
index a0864c2..e0726b3 100644
--- a/patches/dev300/calc-insert-current-time-sc.diff
+++ b/patches/dev300/calc-insert-current-time-sc.diff
@@ -12,28 +12,15 @@ diff --git sc/inc/globstr.hrc sc/inc/globstr.hrc
 index 629cbb4..6a62736 100644
 --- sc/inc/globstr.hrc
 +++ sc/inc/globstr.hrc
-# FIXME ooo330-m2: this version of the hunk depends on the vba diffs
-#@@ -594,8 +594,10 @@
-# #define STR_FORM_SCROLLBAR          453
-# 
-# #define STR_OPTIONS_WARN_SEPARATORS 454
-#+#define STR_UNDO_INSERT_CURRENT_DATE 455
-#+#define STR_UNDO_INSERT_CURRENT_TIME 456
-#                                        
-#-#define STR_COUNT                       455
-#+#define STR_COUNT                       457
-# 
-# #endif
-# 
-@@ -578,8 +578,10 @@
- #define STR_UNDO_SET_MULTI_TAB_BG_COLOR 439
- 
- #define STR_OPTIONS_WARN_SEPARATORS 440
-+#define STR_UNDO_INSERT_CURRENT_DATE 441 
-+#define STR_UNDO_INSERT_CURRENT_TIME 442 
- 
--#define STR_COUNT                       441
-+#define STR_COUNT                       443
+@@ -594,8 +594,10 @@
+ #define STR_FORM_SCROLLBAR          453
+ 
+ #define STR_OPTIONS_WARN_SEPARATORS 454
++#define STR_UNDO_INSERT_CURRENT_DATE 455
++#define STR_UNDO_INSERT_CURRENT_TIME 456
+                                        
+-#define STR_COUNT                       455
++#define STR_COUNT                       457
  
  #endif
  
@@ -41,25 +28,12 @@ diff --git sc/inc/sc.hrc sc/inc/sc.hrc
 index 5547bb4..9341e0d 100644
 --- sc/inc/sc.hrc
 +++ sc/inc/sc.hrc
-# FIXME ooo330-m2: this version of the hunk depends on the vba stuff
-#@@ -1676,6 +1676,9 @@
-# #define SID_DATA_FORM               (SC_OOO_BUILD_START + 2) // menu (in Data menu)
-# #define RID_SCDLG_DATAFORM          (SC_OOO_BUILD_START + 3) // dialog
-# 
-#+#define SID_INSERT_CURRENT_DATE     (SC_OOO_BUILD_START + 5)
-#+#define SID_INSERT_CURRENT_TIME     (SC_OOO_BUILD_START + 6)
-#+
-# #endif
-# 
-# 
-@@ -1672,6 +1672,11 @@
- #define RID_SCPAGE_FORMULA          (SC_OOO_BUILD_START + 3)
- #define HID_SCPAGE_FORMULA          (SC_OOO_BUILD_START + 4)
- 
-+#define SC_OOO_BUILD_START          (SC_DIALOGS_END)
-+
-+#define SID_INSERT_CURRENT_DATE     (SC_OOO_BUILD_START + 1) 
-+#define SID_INSERT_CURRENT_TIME     (SC_OOO_BUILD_START + 2) 
+@@ -1676,6 +1676,9 @@
+ #define SID_DATA_FORM               (SC_OOO_BUILD_START + 2) // menu (in Data menu)
+ #define RID_SCDLG_DATAFORM          (SC_OOO_BUILD_START + 3) // dialog
+ 
++#define SID_INSERT_CURRENT_DATE     (SC_OOO_BUILD_START + 5)
++#define SID_INSERT_CURRENT_TIME     (SC_OOO_BUILD_START + 6)
 +
  #endif
  
diff --git a/patches/dev300/calc-pdf-export-allow-filtered-range-sc.diff b/patches/dev300/calc-pdf-export-allow-filtered-range-sc.diff
index 6127461..759c561 100644
--- a/patches/dev300/calc-pdf-export-allow-filtered-range-sc.diff
+++ b/patches/dev300/calc-pdf-export-allow-filtered-range-sc.diff
@@ -13,27 +13,16 @@ index fd60fdf..35092fd 100644
  #include <com/sun/star/util/Date.hpp>
  #include <com/sun/star/sheet/XNamedRanges.hpp>
  #include <com/sun/star/sheet/XLabelRanges.hpp>
-# FIXME ooo330-m2: this version of the hunk depends on the vba stuff
-#@@ -106,6 +107,9 @@
-# #include <com/sun/star/document/XVbaEventsHelper.hpp>
-# #include <com/sun/star/document/VbaEventId.hpp>
-# using namespace com::sun::star;
-#+using ::rtl::OUString;
-#+using ::com::sun::star::uno::Reference;
-#+
-# using namespace com::sun::star::document::VbaEventId;
-# 
-# #define SC_UNO_VBADOCOBJ "ThisVBADocObj" // perhaps we want to actually make this ThisWorkbook ?
 @@ -106,6 +107,9 @@
- #endif
- 
+ #include <com/sun/star/document/XVbaEventsHelper.hpp>
+ #include <com/sun/star/document/VbaEventId.hpp>
  using namespace com::sun::star;
 +using ::rtl::OUString;
 +using ::com::sun::star::uno::Reference;
 +
+ using namespace com::sun::star::document::VbaEventId;
  
- //------------------------------------------------------------------------
- 
+ #define SC_UNO_VBADOCOBJ "ThisVBADocObj" // perhaps we want to actually make this ThisWorkbook ?
 @@ -929,7 +933,13 @@ sal_Int32 SAL_CALL ScModelObj::getRendererCount( const uno::Any& aSelection,
      ScPrintSelectionStatus aStatus;
      String aPagesStr;
diff --git a/patches/dev300/calc-perf-import-dbf-sc.diff b/patches/dev300/calc-perf-import-dbf-sc.diff
index f84166c..7295545 100644
--- a/patches/dev300/calc-perf-import-dbf-sc.diff
+++ b/patches/dev300/calc-perf-import-dbf-sc.diff
@@ -237,16 +237,6 @@ diff --git sc/inc/table.hxx sc/inc/table.hxx
 index abd0a88..709000e 100644
 --- sc/inc/table.hxx
 +++ sc/inc/table.hxx
-# FIXME: this version of the hunk depends on cws-vbasupportdev300.diff
-#@@ -85,6 +85,8 @@ class ScFlatUInt16RowSegments;
-# class ScFlatBoolRowSegments;
-# class ScFlatBoolColSegments;
-# struct ScSetStringParam;
-#+struct ScColWidthParam;
-#+struct ScColWidthParam;
-# 
-# typedef std::hash_map< ::rtl::OUString, rtl::OUString, ::rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > NameToNameMap;
-#  
 @@ -85,6 +85,8 @@ class ScFlatUInt16RowSegments;
  class ScFlatBoolRowSegments;
  class ScFlatBoolColSegments;
@@ -254,8 +244,8 @@ index abd0a88..709000e 100644
 +struct ScColWidthParam;
 +struct ScColWidthParam;
  
- class ScTable
- {
+ typedef std::hash_map< ::rtl::OUString, rtl::OUString, ::rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > NameToNameMap;
+  
 @@ -596,7 +598,7 @@ public:
                                      double nPPTX, double nPPTY,
                                      const Fraction& rZoomX, const Fraction& rZoomY,
@@ -691,35 +681,22 @@ index ef33f94..7249979 100644
  #include <rtl/logfile.hxx>
  
  #include <comphelper/processfactory.hxx>
-# FIXME ooo330-m2: this version of the hunk depends on the vba diffs
-#@@ -129,12 +131,18 @@
-# #include <com/sun/star/document/VbaEventId.hpp>
-# #include <basic/sbstar.hxx>
-# #include <basic/basmgr.hxx>
-#+
-#+#include <vector>
-#+#include <boost/shared_ptr.hpp>
-#+
-# using namespace com::sun::star;
-# using namespace com::sun::star::document::VbaEventId;
-# 
-# using namespace com::sun::star;
-# using ::rtl::OUString;
-# using ::rtl::OUStringBuffer;
-#+using ::boost::shared_ptr;
-#+using ::std::vector;
-# 
-# // STATIC DATA -----------------------------------------------------------
-# 
-@@ -132,6 +134,11 @@
+@@ -129,12 +131,18 @@
+ #include <com/sun/star/document/VbaEventId.hpp>
+ #include <basic/sbstar.hxx>
+ #include <basic/basmgr.hxx>
++
++#include <vector>
++#include <boost/shared_ptr.hpp>
++
+ using namespace com::sun::star;
+ using namespace com::sun::star::document::VbaEventId;
+ 
  using namespace com::sun::star;
  using ::rtl::OUString;
  using ::rtl::OUStringBuffer;
-+#include <vector> 
-+#include <boost/shared_ptr.hpp> 
-+using ::boost::shared_ptr; 
-+using ::std::vector; 
-+
++using ::boost::shared_ptr;
++using ::std::vector;
  
  // STATIC DATA -----------------------------------------------------------
  
diff --git a/patches/dev300/calc-perf-xls-import-cellstyles.diff b/patches/dev300/calc-perf-xls-import-cellstyles.diff
index 364a61f..9a39546 100644
--- a/patches/dev300/calc-perf-xls-import-cellstyles.diff
+++ b/patches/dev300/calc-perf-xls-import-cellstyles.diff
@@ -160,26 +160,6 @@ diff --git sc/source/filter/excel/xistyle.cxx sc/source/filter/excel/xistyle.cxx
 index fdd537a..6e6ee3e 100644
 --- sc/source/filter/excel/xistyle.cxx
 +++ sc/source/filter/excel/xistyle.cxx
-# FIXME ooo330-m2: this version of the hunk depends on the vba diffs
-#@@ -58,12 +58,18 @@
-# #include "stlsheet.hxx"
-# #include "cell.hxx"
-# #include "globstr.hrc"
-#+#include "attarray.hxx"
-# #include "xltracer.hxx"
-# #include "xistream.hxx"
-# #include "xicontent.hxx"
-# 
-# #include "root.hxx"
-# #include "colrowst.hxx"
-#+#include "svl/poolcach.hxx"
-#+
-#+#include <list>
-#+
-#+using ::std::list;
-# 
-# #include <cppuhelper/implbase1.hxx>
-# #include <com/sun/star/container/XIndexAccess.hpp>
 @@ -58,12 +58,18 @@
  #include "stlsheet.hxx"
  #include "cell.hxx"
@@ -191,14 +171,14 @@ index fdd537a..6e6ee3e 100644
  
  #include "root.hxx"
  #include "colrowst.hxx"
-+#include "svl/poolcach.hxx" 
-+ 
-+#include <list> 
-+ 
-+using ::std::list; 
- 
- // PALETTE record - color information =========================================
++#include "svl/poolcach.hxx"
++
++#include <list>
++
++using ::std::list;
  
+ #include <cppuhelper/implbase1.hxx>
+ #include <com/sun/star/container/XIndexAccess.hpp>
 @@ -1242,26 +1248,60 @@ const ScPatternAttr& XclImpXF::CreatePattern( bool bSkipPoolDefs )
      return *mpPattern;
  }
diff --git a/patches/dev300/pptx-autoplay-fix.diff b/patches/dev300/pptx-autoplay-fix.diff
index 80e64a7..cb382f9 100644
--- a/patches/dev300/pptx-autoplay-fix.diff
+++ b/patches/dev300/pptx-autoplay-fix.diff
@@ -188,7 +188,7 @@ index 0000000..7cf518c
 +        </prop>
 +        <prop oor:name="ClipboardFormat"/>
 +    </node>
-# FIXME ooo3230-m2: it seems that this file completely removed; can't find any new location
+# FIXME ooo330-m2: it seems that this file completely removed; can't find any new location
 #diff --git framework/inc/filterflags.h framework/inc/filterflags.h
 #index b2f6382..dd65fb7 100644
 #--- framework/inc/filterflags.h
@@ -217,7 +217,7 @@ index 0000000..7cf518c
 #         return(nCheck == 0);
 #     }
 # 
-# FIXME ooo3230-m2: it seems that this file completely removed; can't find any new location
+# FIXME ooo330-m2: it seems that this file completely removed; can't find any new location
 #diff --git framework/source/constant/filter.cxx framework/source/constant/filter.cxx
 #index 38f92a5..ccbfec6 100644
 #--- framework/source/constant/filter.cxx
diff --git a/patches/dev300/writer-doc-comparison.diff b/patches/dev300/writer-doc-comparison.diff
index bb7c69c..f92827e 100644
--- a/patches/dev300/writer-doc-comparison.diff
+++ b/patches/dev300/writer-doc-comparison.diff
@@ -683,29 +683,14 @@ diff --git sw/inc/unoprnms.hxx sw/inc/unoprnms.hxx
 index 2dfc961..d33c848 100644
 --- sw/inc/unoprnms.hxx
 +++ sw/inc/unoprnms.hxx
-# this version of the hunk depends on cws-vbasupportdev300.diff
-#@@ -808,7 +808,9 @@ enum SwPropNameIds
-# /* 0739 */  UNO_NAME_IS_TEMPLATE,
-# /* 0740 */  UNO_NAME_VBA_DOCOBJ,
-# /* 0741 */  UNO_NAME_NESTED_TEXT_CONTENT, // #i109601#
-# /* 0736 UNO_NAME_OUTLINE_LEVEL */       {MAP_CHAR_LEN("OutlineLevel")},//#outline level,add<-zhaojianwei Outlinelevel
-# /* 0737 UNO_NAME_DESCRIPTION */         {MAP_CHAR_LEN("Description")},
-# /* 0738 UNO_NAME_META */        {MAP_CHAR_LEN("InContentMetadata")},
-#-/* 0742 */  SW_PROPNAME_END
-#+/* 0742 */  UNO_NAME_RSID,
-#+/* 0743 */  UNO_NAME_PARRSID,
-#+/* 0744 */  SW_PROPNAME_END
-# };
-# 
-# 
 @@ -808,7 +808,9 @@ enum SwPropNameIds
- // <--
- /* 0738 */  UNO_NAME_META,       // #i91565#
- /* 0739 */  UNO_NAME_NESTED_TEXT_CONTENT, // #i109601#
--/* 0740 */  SW_PROPNAME_END
-+/* 0740 */  UNO_NAME_RSID,
-+/* 0741 */  UNO_NAME_PARRSID,
-+/* 0742 */  SW_PROPNAME_END
+ /* 0739 */  UNO_NAME_IS_TEMPLATE,
+ /* 0740 */  UNO_NAME_VBA_DOCOBJ,
+ /* 0741 */  UNO_NAME_NESTED_TEXT_CONTENT, // #i109601#
+-/* 0742 */  SW_PROPNAME_END
++/* 0742 */  UNO_NAME_RSID,
++/* 0743 */  UNO_NAME_PARRSID,
++/* 0744 */  SW_PROPNAME_END
  };
  
  
@@ -2157,19 +2142,10 @@ index 6a98b97..624a540 100644
 --- sw/source/core/unocore/unoprnms.cxx
 +++ sw/source/core/unocore/unoprnms.cxx
 # this version of the hunk depends on cws-vbasupportdev300.diff
-#@@ -782,6 +782,8 @@ const SwPropNameTab aPropNameTab = {
-# /* 0740 UNO_NAME_VBA_DOCOBJ */       {MAP_CHAR_LEN("ThisVBADocObj")},
-# 
-# /* 0741 UNO_NAME_NESTED_TEXT_CONTENT */ {MAP_CHAR_LEN("NestedTextContent")},
-#+/* 0742 UNO_NAME_RSID */	         {MAP_CHAR_LEN("Rsid")},
-#+/* 0743 UNO_NAME_PARRSID */	         {MAP_CHAR_LEN("ParRsid")},
-# };
-# 
-# const SwPropNameLen& SwGetPropName( USHORT nId )
 @@ -782,6 +782,8 @@ const SwPropNameTab aPropNameTab = {
- /* 0737 UNO_NAME_DESCRIPTION */         {MAP_CHAR_LEN("Description")},
- /* 0738 UNO_NAME_META */        {MAP_CHAR_LEN("InContentMetadata")},
- /* 0739 UNO_NAME_NESTED_TEXT_CONTENT */ {MAP_CHAR_LEN("NestedTextContent")},
+ /* 0740 UNO_NAME_VBA_DOCOBJ */       {MAP_CHAR_LEN("ThisVBADocObj")},
+ 
+ /* 0741 UNO_NAME_NESTED_TEXT_CONTENT */ {MAP_CHAR_LEN("NestedTextContent")},
 +/* 0742 UNO_NAME_RSID */	         {MAP_CHAR_LEN("Rsid")},
 +/* 0743 UNO_NAME_PARRSID */	         {MAP_CHAR_LEN("ParRsid")},
  };
diff --git a/patches/dev300/xlsx-shared-xlsx-shared-import-and-export.diff b/patches/dev300/xlsx-shared-xlsx-shared-import-and-export.diff
index 93ce758..23d9310 100644
--- a/patches/dev300/xlsx-shared-xlsx-shared-import-and-export.diff
+++ b/patches/dev300/xlsx-shared-xlsx-shared-import-and-export.diff
@@ -11,16 +11,6 @@
      virtual ::rtl::OUString implGetImplementationName() const;
 --- oox/source/xls/excelfilter.cxx.old	2009-10-08 16:17:33.000000000 +0200
 +++ oox/source/xls/excelfilter.cxx	2010-03-03 17:00:06.000000000 +0100
-#@@ -43,7 +43,9 @@ using ::com::sun::star::uno::Any;
-# using ::com::sun::star::uno::Reference;
-# using ::com::sun::star::uno::Sequence;
-# using ::com::sun::star::uno::Exception;
-#+using ::com::sun::star::uno::UNO_QUERY;
-# using ::com::sun::star::uno::XInterface;
-#+using ::com::sun::star::lang::XComponent;
-# using ::com::sun::star::container::XNameContainer;
-# using ::com::sun::star::lang::XMultiServiceFactory;
-# using ::com::sun::star::xml::sax::XFastDocumentHandler;
 @@ -43,7 +43,9 @@ using ::com::sun::star::uno::Any;
  using ::com::sun::star::uno::Reference;
  using ::com::sun::star::uno::Sequence;
@@ -28,9 +18,9 @@
 +using ::com::sun::star::uno::UNO_QUERY;
  using ::com::sun::star::uno::XInterface;
 +using ::com::sun::star::lang::XComponent;
+ using ::com::sun::star::container::XNameContainer;
  using ::com::sun::star::lang::XMultiServiceFactory;
  using ::com::sun::star::xml::sax::XFastDocumentHandler;
- using ::oox::core::BinaryFilterBase;
 @@ -172,6 +174,32 @@ const TableStyleListPtr ExcelFilter::get
      return new ExcelGraphicHelper( getWorkbookData() );
  }
diff --git a/patches/dev300/xlsx-shared-xlsx-snapshot.diff b/patches/dev300/xlsx-shared-xlsx-snapshot.diff
index ac3a570..e471102 100644
--- a/patches/dev300/xlsx-shared-xlsx-snapshot.diff
+++ b/patches/dev300/xlsx-shared-xlsx-snapshot.diff
@@ -274,22 +274,22 @@
 --- sc/source/filter/excel/xeescher.cxx.old	2010-03-03 17:00:05.000000000 +0100
 +++ sc/source/filter/excel/xeescher.cxx	2010-03-03 17:00:06.000000000 +0100
 # FIXME ooo330-m2: this versions of the hunk depends on the vba diffs
-#@@ -71,6 +71,7 @@
-# #include "svx/unoapi.hxx"
-# 
-# #include <oox/core/tokens.hxx>
-#+#include <oox/export/drawingml.hxx>
-# 
-# using ::rtl::OString;
-# using ::rtl::OUString;
-@@ -50,6 +50,7 @@
- #include <editeng/outlobj.hxx>
- #include <editeng/editobj.hxx>
- #include <unotools/tempfile.hxx>
+@@ -71,6 +71,7 @@
+ #include "svx/unoapi.hxx"
+ 
+ #include <oox/core/tokens.hxx>
 +#include <oox/export/drawingml.hxx>
- #include <unotools/ucbstreamhelper.hxx>
  
- #include "editutil.hxx"
+ using ::rtl::OString;
+ using ::rtl::OUString;
+#@@ -50,6 +50,7 @@
+# #include <editeng/outlobj.hxx>
+# #include <editeng/editobj.hxx>
+# #include <unotools/tempfile.hxx>
+#+#include <oox/export/drawingml.hxx>
+# #include <unotools/ucbstreamhelper.hxx>
+# 
+# #include "editutil.hxx"
 @@ -91,6 +92,7 @@ using ::com::sun::star::form::binding::X
  using ::com::sun::star::script::ScriptEventDescriptor;
  using ::com::sun::star::table::CellAddress;
diff --git a/patches/vba/cws-vbasupportdev300-fake.diff b/patches/vba/cws-vbasupportdev300-fake.diff
deleted file mode 100644
index c1d19a7..0000000
--- a/patches/vba/cws-vbasupportdev300-fake.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- sc/source/filter/xcl97/xcl97esc.cxx.old	2010-07-30 16:25:42.000000000 +0200
-+++ sc/source/filter/xcl97/xcl97esc.cxx	2010-07-30 19:54:00.000000000 +0200
-@@ -256,7 +256,8 @@ EscherExHostAppData* XclEscherEx::StartS
-         {
-             // #107540# ignore permanent note shapes
-             // #i12190# do not ignore callouts (do not filter by object type ID)
--            pCurrXclObj = new XclObjAny( mrObjMgr );   // just a metafile
-+            // this line will be solved better by cws-vbasupportdev300.diff
-+            pCurrXclObj = new XclObjAny( mrObjMgr, rxShape );   // just a metafile
-         }
-     }
-     if ( pCurrXclObj )
diff --git a/patches/vba/cws-vbasupportdev300.diff b/patches/vba/cws-vbasupportdev300.diff
index 69da454..a884d58 100644
--- a/patches/vba/cws-vbasupportdev300.diff
+++ b/patches/vba/cws-vbasupportdev300.diff
@@ -3177,17 +3177,6 @@ index c9baf95..55f88fd 100644
  //#i64882#
  { "WaitUntil",          SbxNULL,      1 | _FUNCTION, RTLNAME(WaitUntil),0      },
    { "Date", SbxDOUBLE, 0,NULL,0 },
-@@ -628,6 +742,10 @@ SbiStdObject::SbiStdObject( const String& r, StarBASIC* pb ) : SbxObject( r )
-         p += ( p->nArgs & _ARGSMASK ) + 1;
-     }
- 
-+	// #i92642: Remove default properties
-+	Remove( XubString( RTL_CONSTASCII_USTRINGPARAM("Name") ), SbxCLASS_DONTCARE );
-+	Remove( XubString( RTL_CONSTASCII_USTRINGPARAM("Parent") ), SbxCLASS_DONTCARE );
-+
-     SetParent( pb );
- 
-     pStdFactory = new SbStdFactory;
 @@ -675,13 +793,15 @@ SbxVariable* SbiStdObject::Find( const String& rName, SbxClassType t )
               && ( p->nHash == nHash_ )
               && ( rName.EqualsIgnoreCaseAscii( p->pName ) ) )
@@ -7356,8 +7345,8 @@ index d1d40dc..ddd3528 100644
                      pFoundShell = pShell; 
                      break;
 @@ -204,9 +222,19 @@ VBAMacroResolvedInfo resolveVBAMacro( SfxObjectShell* pShell, const rtl::OUStrin
-         String sDocUrlOrPath = MacroName.copy( 0, nDocSepIndex );
-         sMacroUrl = MacroName.copy( nDocSepIndex + 1 );
+         String sDocUrlOrPath = sMacroUrl.copy( 0, nDocSepIndex );
+         sMacroUrl = sMacroUrl.copy( nDocSepIndex + 1 );
          OSL_TRACE("doc search, current shell is 0x%x", pShell );
 -        SfxObjectShell* pFoundShell = findShellForUrl( sDocUrlOrPath );
 +        SfxObjectShell* pFoundShell = NULL;
@@ -10056,8 +10045,8 @@ index cae978d..1ab317d 100644
 --- oovbaapi/ooo/vba/excel/XApplication.idl
 +++ oovbaapi/ooo/vba/excel/XApplication.idl
 @@ -39,6 +39,14 @@
+ #include <ooo/vba/XHelperInterface.idl>
  #include <ooo/vba/XAssistant.idl>
- #endif
  
 +#ifndef __ooo_vba_excel_XFileDialog_idl__
 +#include <ooo/vba/XFileDialog.idl>
@@ -10077,7 +10066,7 @@ index cae978d..1ab317d 100644
 +interface XFileDialog;
 +interface XFileSearch;
  
- interface XApplication : com::sun::star::uno::XInterface
+ interface XApplication
  {
 @@ -60,19 +70,27 @@ interface XApplication : com::sun::star::uno::XInterface
      [attribute, readonly] XWindow ActiveWindow;
@@ -13579,8 +13568,8 @@ index fa4f08d..dcfe46c 100644
 --- sc/inc/viewuno.hxx
 +++ sc/inc/viewuno.hxx
 @@ -196,6 +196,7 @@ private:
-     XMouseClickHandlerArr_Impl              aMouseClickHandlers;
      XActivationEventListenerArr_Impl        aActivationListeners;
+     SCTAB                                   nPreviousTab;
      sal_Bool								bDrawSelModeSet;
 +    sal_Bool                                bFilteredRangeSelection;
  
@@ -19506,7 +19495,7 @@ index 228ca64..3a4907b 100644
  uno::Any SAL_CALL
 @@ -631,6 +785,105 @@ ScVbaApplication::getDisplayAlerts() throw (uno::RuntimeException)
  {
-     return sal_True;
+     return m_xDisplayAlerts;
  }
 +
 +//VBA by minz at cn.ibm.com. Add Application.EnableEvents.
@@ -25578,7 +25567,7 @@ index fd136e6..d9cc4ea 100644
          {
              uno::Reference< sheet::XNamedRange > xNamed( xNameAccess->getByName( sAddress ), uno::UNO_QUERY_THROW );
 @@ -1163,6 +1164,28 @@ ScVbaRange::getRangeObjectForName( const uno::Reference< uno::XComponentContext
-     return getRangeForName( xContext, sRangeName, pDocSh, refAddr, eConv );
+     return getRangeForName( xParent, xContext, sRangeName, pDocSh, refAddr, eConv );
  }
  
 +table::CellAddress ScVbaRange::getLeftUpperCellAddress()
@@ -25938,24 +25927,25 @@ index fd136e6..d9cc4ea 100644
  }
  
  uno::Reference< excel::XRange > SAL_CALL 
-@@ -2634,11 +2700,12 @@ ScVbaRange::AddComment( const uno::Any& Text ) throw (uno::RuntimeException)
- {
- 
-     uno::Reference< excel::XComment > xComment( new ScVbaComment( this, mxContext, mxRange ) );
--    // if you don't pass a valid text or if there is already a comment
--    // associated with the range then return NULL
--    if ( !xComment->Text( Text, uno::Any(), uno::Any() ).getLength() 
--    ||   xComment->Text( uno::Any(), uno::Any(), uno::Any() ).getLength() )
--        return NULL;
-+        // if there is existing text then error
-+	if ( Text.hasValue() && xComment->Text( uno::Any(), uno::Any(), uno::Any() ).getLength() )
-+            throw uno::RuntimeException(); 
-+        // failed to write text? ( can this happen ?? )
-+	if ( !xComment->Text( Text, uno::Any(), uno::Any() ).getLength()  )
-+		return NULL;	
-     return xComment;
- }
- 
+# FIXME ooo330-m2: upstream created more complex implementation; it seems to have similar meaning; at least the check for existing text, ...
+#@@ -2634,11 +2700,12 @@ ScVbaRange::AddComment( const uno::Any& Text ) throw (uno::RuntimeException)
+# {
+# 
+#     uno::Reference< excel::XComment > xComment( new ScVbaComment( this, mxContext, mxRange ) );
+#-    // if you don't pass a valid text or if there is already a comment
+#-    // associated with the range then return NULL
+#-    if ( !xComment->Text( Text, uno::Any(), uno::Any() ).getLength() 
+#-    ||   xComment->Text( uno::Any(), uno::Any(), uno::Any() ).getLength() )
+#-        return NULL;
+#+        // if there is existing text then error
+#+	if ( Text.hasValue() && xComment->Text( uno::Any(), uno::Any(), uno::Any() ).getLength() )
+#+            throw uno::RuntimeException(); 
+#+        // failed to write text? ( can this happen ?? )
+#+	if ( !xComment->Text( Text, uno::Any(), uno::Any() ).getLength()  )
+#+		return NULL;	
+#     return xComment;
+# }
+# 
 @@ -2796,7 +2863,16 @@ ScVbaRange::Replace( const ::rtl::OUString& What, const ::rtl::OUString& Replace
          // OOo.org afaik
  
@@ -26514,7 +26504,7 @@ index fd136e6..d9cc4ea 100644
 +    }
  }
  
- css::uno::Reference< excel::XValidation > SAL_CALL 
+ uno::Any SAL_CALL
 @@ -4599,7 +4761,7 @@ uno::Any ScVbaRange::getShowDetail() throw ( css::uno::RuntimeException)
          (thisAddress.StartColumn == thisAddress.EndColumn && thisAddress.EndColumn == aOutlineAddress.EndColumn ))
      {
@@ -26689,7 +26679,7 @@ index fd136e6..d9cc4ea 100644
  {
 @@ -4703,7 +4995,7 @@ ScVbaRange::PrintOut( const uno::Any& From, const uno::Any& To, const uno::Any&
          {
-             ScVbaRange* pRange = dynamic_cast< ScVbaRange* >( xRange.get() ); 
+             ScVbaRange* pRange = getImplementation( xRange );
              // initialise the doc shell and the printareas
 -            pShell = getDocShellFromRange( pRange->mxRange );
 +			pShell = excel::GetDocShellFromRange( pRange->mxRange );
@@ -27010,18 +27000,16 @@ index b405589..2916b1d 100644
      double getCalcColWidth( const css::table::CellRangeAddress& ) throw (css::uno::RuntimeException);
      double getCalcRowHeight( const css::table::CellRangeAddress& ) throw (css::uno::RuntimeException);
      void visitArray( ArrayVisitor& vistor );
-@@ -133,7 +137,8 @@ public:
-     virtual ~ScVbaRange();
-      virtual css::uno::Reference< ov::XHelperInterface > thisHelperIface() { return this; }
-     bool isSingleCellRange(); 
--        static css::uno::Reference< ov::excel::XRange > getRangeObjectForName( const css::uno::Reference< css::uno::XComponentContext >& xContext, const rtl::OUString& sRangeName, ScDocShell* pDocSh, formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_XL_A1  ) throw ( css::uno::RuntimeException );
-+	static css::uno::Reference< ov::excel::XRange > getRangeObjectForName( const css::uno::Reference< css::uno::XComponentContext >& xContext, const rtl::OUString& sRangeName, ScDocShell* pDocSh, formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_XL_A1  ) throw ( css::uno::RuntimeException );
+@@ -133,6 +137,7 @@ public:
+         const css::uno::Reference< css::uno::XComponentContext >& xContext,
+         const rtl::OUString& sRangeName, ScDocShell* pDocSh,
+         formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_XL_A1  ) throw ( css::uno::RuntimeException );
 +	css::table::CellAddress getLeftUpperCellAddress();
  
      // Attributes
      virtual css::uno::Any SAL_CALL getValue() throw (css::uno::RuntimeException);
 @@ -175,6 +180,7 @@ public:
-     virtual css::uno::Reference< ov::excel::XValidation > SAL_CALL getValidation() throw (css::uno::RuntimeException);
+     virtual css::uno::Any SAL_CALL getPrefixCharacter() throw (css::uno::RuntimeException);
      virtual css::uno::Any SAL_CALL getShowDetail() throw (css::uno::RuntimeException);
      virtual void SAL_CALL setShowDetail(const css::uno::Any& aShowDetail) throw (css::uno::RuntimeException);	
 +	virtual ::com::sun::star::uno::Reference< ::ooo::vba::excel::XQueryTable > SAL_CALL getQueryTable() throw (::com::sun::star::uno::RuntimeException); //09-09-16 add by limingl
@@ -27038,7 +27026,7 @@ index b405589..2916b1d 100644
 +                const css::uno::Any& ConsecutiveDelimiter, const css::uno::Any& Tab, const css::uno::Any& Semicolon, const css::uno::Any& Comma, 
                  const css::uno::Any& Space, const css::uno::Any& Other, const css::uno::Any& OtherChar, const css::uno::Any& FieldInfo,
                  const css::uno::Any& DecimalSeparator, const css::uno::Any& ThousandsSeparator, const css::uno::Any& TrailingMinusNumbers ) throw (css::uno::RuntimeException);
- 
+     virtual css::uno::Any SAL_CALL Hyperlinks( const css::uno::Any& aIndex ) throw (css::uno::RuntimeException);
 @@ -248,6 +254,11 @@ public:
      virtual void SAL_CALL RemoveSubtotal(  ) throw (css::script::BasicErrorException, css::uno::RuntimeException);
      virtual css::uno::Reference< ov::excel::XRange > SAL_CALL MergeArea() throw (css::script::BasicErrorException, css::uno::RuntimeException);
@@ -27098,19 +27086,20 @@ index f76794e..e585343 100644
      if ( sFormula1.getLength() )
          xCond->setFormula1( sFormula1 );
      if ( sFormula2.getLength() )
-diff --git sc/source/ui/vba/vbawindow.cxx sc/source/ui/vba/vbawindow.cxx
-index 1450d25..3a180a4 100644
---- sc/source/ui/vba/vbawindow.cxx
-+++ sc/source/ui/vba/vbawindow.cxx
-@@ -56,7 +56,7 @@ using namespace ::ooo::vba;
- using namespace ::ooo::vba::excel::XlWindowState;
- 
- // nameExists defined in vbaworksheet.cxx
--bool nameExists( uno::Reference <sheet::XSpreadsheetDocument>& xSpreadDoc, ::rtl::OUString & name, SCTAB& nTab ) throw ( lang::IllegalArgumentException );
-+bool nameExists( const uno::Reference <sheet::XSpreadsheetDocument>& xSpreadDoc, const ::rtl::OUString & name, SCTAB& nTab ) throw ( lang::IllegalArgumentException );
- 
- typedef  std::hash_map< rtl::OUString,
- SCTAB, ::rtl::OUStringHash,
+# FIXME ooo320-m2: this line was removed in upstream sources; they call it via ScVbaWorksheets::nameExists
+#diff --git sc/source/ui/vba/vbawindow.cxx sc/source/ui/vba/vbawindow.cxx
+#index 1450d25..3a180a4 100644
+#--- sc/source/ui/vba/vbawindow.cxx
+#+++ sc/source/ui/vba/vbawindow.cxx
+#@@ -56,7 +56,7 @@ using namespace ::ooo::vba;
+# using namespace ::ooo::vba::excel::XlWindowState;
+# 
+# // nameExists defined in vbaworksheet.cxx
+#-bool nameExists( uno::Reference <sheet::XSpreadsheetDocument>& xSpreadDoc, ::rtl::OUString & name, SCTAB& nTab ) throw ( lang::IllegalArgumentException );
+#+bool nameExists( const uno::Reference <sheet::XSpreadsheetDocument>& xSpreadDoc, const ::rtl::OUString & name, SCTAB& nTab ) throw ( lang::IllegalArgumentException );
+# 
+# typedef  std::hash_map< rtl::OUString,
+# SCTAB, ::rtl::OUStringHash,
 diff --git sc/source/ui/vba/vbaworkbook.cxx sc/source/ui/vba/vbaworkbook.cxx
 index e75ed8c..8ef3362 100644
 --- sc/source/ui/vba/vbaworkbook.cxx
@@ -27252,7 +27241,7 @@ index f89d682..acbef63 100644
 +
      // code name
      virtual ::rtl::OUString SAL_CALL getCodeName() throw ( css::uno::RuntimeException);
-     virtual void SAL_CALL setCodeName( const ::rtl::OUString& sGlobCodeName ) throw (css::uno::RuntimeException);
+ 
 @@ -76,6 +81,8 @@ public:
      // XHelperInterface
      virtual rtl::OUString& getServiceImplName();
@@ -27446,7 +27435,7 @@ index 2af3a04..8bc6dcf 100644
 +#include <ooo/vba/excel/XlSheetVisibility.hpp>
  
  #include <comphelper/processfactory.hxx>
- 
+ #include <vbahelper/vbashapes.hxx>
 @@ -74,7 +75,7 @@
  
  #include "cellsuno.hxx"
@@ -27457,22 +27446,23 @@ index 2af3a04..8bc6dcf 100644
  #include "vbaoutline.hxx"
  #include "vbarange.hxx"
 @@ -87,6 +88,7 @@
- #include <vbahelper/vbashapes.hxx>
- #include "vbapagesetup.hxx"
- #include "vbapagebreaks.hxx"
+ #include "vbaworksheets.hxx"
+ #include "vbahyperlinks.hxx"
+ #include "vbasheetobjects.hxx"
 +#include "viewuno.hxx" //liuchen 2009-9-2
  
  #define STANDARDWIDTH 2267
  #define STANDARDHEIGHT 427
-@@ -94,7 +96,7 @@
- using namespace com::sun::star;
- using namespace ooo::vba;
- bool
--nameExists( uno::Reference <sheet::XSpreadsheetDocument>& xSpreadDoc, ::rtl::OUString & name, SCTAB& nTab ) throw ( lang::IllegalArgumentException )
-+nameExists( const uno::Reference <sheet::XSpreadsheetDocument>& xSpreadDoc, const ::rtl::OUString & name, SCTAB& nTab ) throw ( lang::IllegalArgumentException )
- {
-     if (!xSpreadDoc.is())
-         throw lang::IllegalArgumentException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "nameExists() xSpreadDoc is null" ) ), uno::Reference< uno::XInterface  >(), 1 );
+# FIXME ooo320-m2: upstream removed this code at all; see also the change in sc/source/ui/vba/vbawindow.cxx
+#@@ -94,7 +96,7 @@
+# using namespace com::sun::star;
+# using namespace ooo::vba;
+# bool
+#-nameExists( uno::Reference <sheet::XSpreadsheetDocument>& xSpreadDoc, ::rtl::OUString & name, SCTAB& nTab ) throw ( lang::IllegalArgumentException )
+#+nameExists( const uno::Reference <sheet::XSpreadsheetDocument>& xSpreadDoc, const ::rtl::OUString & name, SCTAB& nTab ) throw ( lang::IllegalArgumentException )
+# {
+#     if (!xSpreadDoc.is())
+#         throw lang::IllegalArgumentException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "nameExists() xSpreadDoc is null" ) ), uno::Reference< uno::XInterface  >(), 1 );
 @@ -230,7 +232,7 @@ ScVbaWorksheet::setName(const ::rtl::OUString &rName ) throw (uno::RuntimeExcept
      xNamed->setName( rName );
  }
@@ -27571,7 +27561,7 @@ index 2af3a04..8bc6dcf 100644
  }
  
  void 
-@@ -486,20 +540,43 @@ ScVbaWorksheet::Copy( const uno::Any& Before, const uno::Any& After ) throw (uno
+@@ -486,18 +540,42 @@ ScVbaWorksheet::Copy( const uno::Any& Before, const uno::Any& After ) throw (uno
          return;
      }
  
@@ -27582,13 +27572,11 @@ index 2af3a04..8bc6dcf 100644
 +
      SCTAB nDest = 0;
 +    SCTAB nSrc = 0;
-     aSheetName = xSheet->getName();
--    bool bSheetExists = nameExists (xSpreadDoc, aSheetName, nDest );
- 
--    if ( bSheetExists )
+     rtl::OUString aSheetName = xSheet->getName();
+-    if ( ScVbaWorksheets::nameExists (xSpreadDoc, aSheetName, nDest ) )
 +    bool bSameDoc = ( pDestSheet->getModel() == getModel() );
-+    bool bDestSheetExists = nameExists (xDestDoc, aSheetName, nDest );
-+    bool bSheetExists = nameExists (xSrcDoc, aCurrSheetName, nSrc );
++    bool bDestSheetExists = ScVbaWorksheets::nameExists (xDestDoc, aSheetName, nDest );
++    bool bSheetExists = ScVbaWorksheets::nameExists (xSrcDoc, aCurrSheetName, nSrc );
 +
 +    // set sheet name to be newSheet name
 +    aSheetName = aCurrSheetName;
@@ -27658,24 +27646,26 @@ index 2af3a04..8bc6dcf 100644
          mxCharts = new ScVbaChartObjects(  this, mxContext, xTableCharts, xDrawPageSupplier );
      }
      if ( Index.hasValue() )
-@@ -882,7 +971,7 @@ ScVbaWorksheet::getServiceNames()
- rtl::OUString SAL_CALL
- ScVbaWorksheet::getCodeName() throw (css::uno::RuntimeException)
- {
--#ifdef VBA_OOBUILD_HACK 
-+#if 0
-     uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( getModel(), uno::UNO_QUERY_THROW );
-     SCTAB nTab = 0;
-     rtl::OUString aSheetName = getName();
-@@ -903,7 +992,7 @@ ScVbaWorksheet::getCodeName() throw (css::uno::RuntimeException)
-     throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Not implemented") ), uno::Reference< uno::XInterface >() );
- #endif
- }
--#ifdef VBA_OOBUILD_HACK 
-+#if 0
- void SAL_CALL
- ScVbaWorksheet::setCodeName( const rtl::OUString& sCodeName ) throw (css::uno::RuntimeException)
- {
+# FIXME ooo320-m2: upstream removed the VBA_OOBUILD_HACK code at all
+#@@ -882,7 +971,7 @@ ScVbaWorksheet::getServiceNames()
+# rtl::OUString SAL_CALL
+# ScVbaWorksheet::getCodeName() throw (css::uno::RuntimeException)
+# {
+#-#ifdef VBA_OOBUILD_HACK 
+#+#if 0
+#     uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( getModel(), uno::UNO_QUERY_THROW );
+#     SCTAB nTab = 0;
+#     rtl::OUString aSheetName = getName();
+# FIXME ooo320-m2: upstream removed the VBA_OOBUILD_HACK code at all
+#@@ -903,7 +992,7 @@ ScVbaWorksheet::getCodeName() throw (css::uno::RuntimeException)
+#     throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Not implemented") ), uno::Reference< uno::XInterface >() );
+# #endif
+# }
+#-#ifdef VBA_OOBUILD_HACK 
+#+#if 0
+# void SAL_CALL
+# ScVbaWorksheet::setCodeName( const rtl::OUString& sCodeName ) throw (css::uno::RuntimeException)
+# {
 @@ -933,7 +1022,7 @@ ScVbaWorksheet::setCodeName( const rtl::OUString& ) throw (css::uno::RuntimeExce
  sal_Int16
  ScVbaWorksheet::getSheetID() throw (uno::RuntimeException)
@@ -27741,9 +27731,9 @@ index 9d4a003..05b9fc2 100644
 --- sc/source/ui/vba/vbaworksheet.hxx
 +++ sc/source/ui/vba/vbaworksheet.hxx
 @@ -43,6 +43,7 @@
+ #include <ooo/vba/excel/XPageSetup.hpp>
  #include <ooo/vba/excel/XHPageBreaks.hpp>
  #include <ooo/vba/excel/XVPageBreaks.hpp>
- #include <ooo/vba/excel/XChartObjects.hpp>
 +#include <com/sun/star/container/XNamed.hpp>
  
  #include <vbahelper/vbahelperinterface.hxx>
@@ -27863,85 +27853,86 @@ index dc1402b..e08ad8e 100644
  }
  
  // XWorksheets
-diff --git sc/source/ui/vba/vbawsfunction.cxx sc/source/ui/vba/vbawsfunction.cxx
-index a22bc3f..6242560 100644
---- sc/source/ui/vba/vbawsfunction.cxx
-+++ sc/source/ui/vba/vbawsfunction.cxx
-@@ -71,13 +71,58 @@ ScVbaWSFunction::invoke(const rtl::OUString& FunctionName, const uno::Sequence<
- 
-     for (int i=0; i < Params.getLength();i++) 
-     {
-+        aArrayTemp[i]= aArray[i];
-         uno::Reference<excel::XRange> myRange( aArray[ i ], uno::UNO_QUERY );
-         if ( myRange.is() ) 
-         {
-             aArrayTemp[i] = myRange->getCellRange();
-             continue;
-         }
--        aArrayTemp[i]= aArray[i];
-+                else if (  aArray[ i ].getValueType().getTypeClass() == uno::TypeClass_BOOLEAN )
-+		{
-+			sal_Bool bValue( sal_False );
-+			aArray[ i ] >>= bValue;
-+			if ( bValue )
-+				aArrayTemp[ i ] <<= double( 1.0 ); 
-+			else
-+				aArrayTemp[ i ] <<= double( 0.0 ); 
-+                        
-+		}
-+        else if ( aArray[ i ].getValueType().getTypeClass() == uno::TypeClass_SEQUENCE )
-+        {
-+            // the sheet.FunctionAccess service doesn't deal with Sequences, only Sequences of Sequence
-+            uno::Type aType = aArray[ i ].getValueType();
-+            if ( aType.equals( getCppuType( (uno::Sequence<sal_Int16>*)0 ) ) )
-+            {
-+                uno::Sequence< uno::Sequence< sal_Int16 > >  aTmp(1);
-+                aArray[ i ] >>= aTmp[ 0 ];
-+                aArrayTemp[i] <<= aTmp;
-+            }
-+            else if ( aType.equals( getCppuType( (uno::Sequence<sal_Int32>*)0 ) ) )
-+            {
-+                uno::Sequence< uno::Sequence< sal_Int32 > > aTmp(1);
-+                aArray[ i ] >>= aTmp[ 0 ];
-+                aArrayTemp[i] <<= aTmp;
-+            }
-+            else if ( aType.equals( getCppuType( (uno::Sequence<double>*)0 ) ) )
-+            {
-+                uno::Sequence< uno::Sequence< double > > aTmp(1);
-+                aArray[ i ] >>= aTmp[ 0 ];
-+                aArrayTemp[i] <<= aTmp;
-+            }
-+            else if ( aType.equals( getCppuType( (uno::Sequence<rtl::OUString>*)0 ) ) )
-+            {
-+                uno::Sequence< uno::Sequence< rtl::OUString > > aTmp(1);
-+                aArray[ i ] >>= aTmp[ 0 ];
-+                aArrayTemp[i] <<= aTmp;
-+            }
-+            else if ( aType.equals( getCppuType( (uno::Sequence<uno::Any>*)0 ) ) )
-+            {
-+                uno::Sequence< uno::Sequence<uno::Any > > aTmp(1);
-+                aArray[ i ] >>= aTmp[ 0 ];
-+                aArrayTemp[i] <<= aTmp;
-+            }
-+        }
-     }
- 
-     for ( int count=0; count < aParamTemp.getLength(); ++count )
-@@ -85,12 +130,13 @@ ScVbaWSFunction::invoke(const rtl::OUString& FunctionName, const uno::Sequence<
-             count, rtl::OUStringToOString( comphelper::anyToString( aParamTemp[count] ), RTL_TEXTENCODING_UTF8 ).getStr()  );
-     
-     uno::Any aRet = xFunctionAccess->callFunction(FunctionName,aParamTemp);
-+
-     // MATCH function should alwayse return a double value, but currently if the first argument is XCellRange, MATCH function returns an array instead of a double value. Don't know why?
-     // To fix this issue in safe, current solution is to convert this array to a double value just for MATCH function.
-     String aUpper( FunctionName );
-     ScCompiler aCompiler( NULL, ScAddress() ); 
-     OpCode eOp = aCompiler.GetEnglishOpCode( aUpper.ToUpperAscii() );

... etc. - the rest is truncated


More information about the ooo-build-commit mailing list