ooo-build r14691 - in trunk: . patches/dev300 patches/vba



Author: noelpwer
Date: Tue Dec  2 18:28:05 2008
New Revision: 14691
URL: http://svn.gnome.org/viewvc/ooo-build?rev=14691&view=rev

Log:
2008-12-02  Noel Power <noel power novell com>

        * patches/dev300/fix-biffdumper.diff: make biffdumper build
        * patches/dev300/vba-xl-import-crash.diff: temp fix for crash
        * patches/dev300/sc-export-shape-hlink-bindings.diff: re-enable
        * patches/dev300/apply:
        * patches/dev300/sc-export-shape-macro-bindings.diff: re-enable
        * patches/dev300/vba-sc-autoshapes-hyperlinks.diff: fix for macro
        bindings
        * patches/vba/ObjectModule.diff: ripple diff context adjustments


Added:
   trunk/patches/dev300/fix-biffdumper.diff
   trunk/patches/dev300/vba-xl-import-crash.diff
Modified:
   trunk/ChangeLog
   trunk/patches/dev300/apply
   trunk/patches/dev300/sc-export-shape-hlink-bindings.diff
   trunk/patches/dev300/sc-export-shape-macro-bindings.diff
   trunk/patches/dev300/vba-sc-autoshapes-hyperlinks.diff
   trunk/patches/vba/ObjectModule.diff

Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply	(original)
+++ trunk/patches/dev300/apply	Tue Dec  2 18:28:05 2008
@@ -835,6 +835,12 @@
 # FIXME 2008-11-26: lots of failed chunks for dev300-m35
 #calc-fix-datapilot-date-filter.diff, i#90022, kohei
 
+# make biffdumper build
+fix-biffdumper.diff, noelpwer
+
+# temp fix, removed call that causes crash ( need understand and fix this
+# properly )
+vba-xl-import-crash.diff, noelpwer
 [ LinuxOnly ]
 # accelerate linking, by extreme cunning i#63927
 # this is an increasingly marginal win ...
@@ -1575,14 +1581,10 @@
 sc-source-ui-vba-makefile-mk.diff
 
 # export of macro bindings for shapes
-# FIXME 2008-11-26: doesn't apply to dev300-m35
-# it seems filter code has changed :-( XclExpControlObjHelper has
-# dissapeared
-#sc-export-shape-macro-bindings.diff, n#304739, noelpwer
+sc-export-shape-macro-bindings.diff, n#304739, noelpwer
 
 # export of hlink bindings for shapes
-# FIXME 2008-11-26: doesn't apply to dev300-m35
-#sc-export-shape-hlink-bindings.diff, n#304739, noelpwer
+sc-export-shape-hlink-bindings.diff, n#304739, noelpwer
 
 
 # attributes present in the vba streams can override the default shape name

Added: trunk/patches/dev300/fix-biffdumper.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/fix-biffdumper.diff	Tue Dec  2 18:28:05 2008
@@ -0,0 +1,161 @@
+Index: sc/source/filter/inc/xistream.hxx
+===================================================================
+--- sc/source/filter/inc/xistream.hxx	(revision 264332)
++++ sc/source/filter/inc/xistream.hxx	(working copy)
+@@ -310,8 +310,7 @@
+     /** Seeks to last position from user position stack.
+         @descr  This position will be removed from the stack. */
+     void                PopPosition();
+-//UNUSED2008-05  /** Removes last position from user position stack, but does not seek to it. */
+-//UNUSED2008-05  void                RejectPosition();
++    void                RejectPosition();
+ 
+     /** Stores current position. This position keeps valid in all records. */
+     void                StoreGlobalPosition();
+Index: sc/source/filter/excel/xistream.cxx
+===================================================================
+--- sc/source/filter/excel/xistream.cxx	(revision 264332)
++++ sc/source/filter/excel/xistream.cxx	(working copy)
+@@ -468,12 +468,12 @@
+     }
+ }
+ 
+-//UNUSED2008-05  void XclImpStream::RejectPosition()
+-//UNUSED2008-05  {
+-//UNUSED2008-05      DBG_ASSERT( !maPosStack.empty(), "XclImpStream::RejectPosition - stack empty" );
+-//UNUSED2008-05      if( !maPosStack.empty() )
+-//UNUSED2008-05          maPosStack.pop_back();
+-//UNUSED2008-05  }
++void XclImpStream::RejectPosition()
++{
++    DBG_ASSERT( !maPosStack.empty(), "XclImpStream::RejectPosition - stack empty" );
++    if( !maPosStack.empty() )
++        maPosStack.pop_back();
++}
+ 
+ void XclImpStream::StoreGlobalPosition()
+ {
+Index: sc/source/filter/excel/biffdump.cxx
+===================================================================
+--- sc/source/filter/excel/biffdump.cxx	(revision 264332)
++++ sc/source/filter/excel/biffdump.cxx	(working copy)
+@@ -918,7 +918,7 @@
+ 
+     // XF type/parent
+     LINESTART();
+-    ::extract_value( nTmp, nTypeProt, 4, 12 );
++    nTmp = ::extract_value<sal_uInt16, sal_uInt16>( nTypeProt, 4, 12 );
+     ADDTEXT( "index=#" );           __AddDec( t, nXFCount++ );
+     ADDTEXT( "   type=" );          lcl_AddFlag( t, bCell, "cell", "style" );
+     ADDTEXT( "   parent-xf=#" );    __AddDec( t, nTmp );
+@@ -926,7 +926,7 @@
+ 
+     // attribute used flags
+     LINESTART();
+-    ::extract_value( __nFlags, nMiscAttrib, 10, 6 );
++    __nFlags = ::extract_value<sal_uInt16, sal_uInt16>( nMiscAttrib, 10, 6 );
+     if( !bCell ) __nFlags ^= 0x3F;  // in style XFs a 0 means used
+     ADDTEXT( "used " ); STARTFLAG();
+     ADDFLAG( EXC_XF_DIFF_VALFMT, "numfmt" );
+@@ -947,7 +947,7 @@
+ 
+     // alignment
+     LINESTART();
+-    ::extract_value( nTmp, nAlign, 0, 3 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt16>( nAlign, 0, 3 );
+     ADDTEXT( "hor-align=" );        __AddDec( t, nTmp );
+     ADDTEXT( " (" );
+     switch( nTmp )
+@@ -962,7 +962,7 @@
+         case EXC_XF_HOR_DISTRIB:    ADDTEXT( "distrib" );   break;
+         default:                    ADDTEXT( "!unknown!" );
+     };
+-    ::extract_value( nTmp, nAlign, 4, 3 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt16>( nAlign, 4, 3 );
+     ADDTEXT( ")   ver-align=" );    __AddDec( t, nTmp );
+     ADDTEXT( " (" );
+     switch( nTmp )
+@@ -978,7 +978,7 @@
+     PRINT();
+ 
+     LINESTART();
+-    ::extract_value( nTmp, nAlign, 8, 8 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt16>( nAlign, 8, 8 );
+     ADDTEXT( "rotation=" );         __AddDec( t, nTmp );
+     ADDTEXT( " (" );
+     if( nTmp < 91 )
+@@ -989,10 +989,10 @@
+         { ADDTEXT( "stacked" ); }
+     else
+         { ADDTEXT( "!unknown!" ); }
+-    ::extract_value( nTmp, nMiscAttrib, 0, 4 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt16>( nMiscAttrib, 0, 4 );
+     ADDTEXT( ")   indent=" );       __AddDec( t, nTmp );
+     ADDTEXT( "   shrink=" );        lcl_AddOnOff( t, ::get_flag( nMiscAttrib, EXC_XF8_SHRINK ) );
+-    ::extract_value( nTmp, nMiscAttrib, 6, 2 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt16>( nMiscAttrib, 6, 2 );
+     ADDTEXT( "   text-dir=" );      __AddDec( t, nTmp );
+     ADDTEXT( " (" );
+     switch( nTmp )
+@@ -1007,39 +1007,39 @@
+ 
+     // border/area
+     LINESTART();
+-    ::extract_value( nTmp, nBorder1, 0, 4 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt32>( nBorder1, 0, 4 );
+     ADDTEXT( "left-line=" );        __AddDec( t, nTmp );
+-    ::extract_value( nTmp, nBorder1, 16, 7 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt32>( nBorder1, 16, 7 );
+     ADDTEXT( " color=" );           __AddDec( t, nTmp );
+-    ::extract_value( nTmp, nBorder1, 4, 4 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt32>( nBorder1, 4, 4 );
+     ADDTEXT( "   right-line =" );   __AddDec( t, nTmp );
+-    ::extract_value( nTmp, nBorder1, 23, 7 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt32>( nBorder1, 23, 7 );
+     ADDTEXT( " color=" );           __AddDec( t, nTmp );
+     PRINT();
+     LINESTART();
+-    ::extract_value( nTmp, nBorder1, 8, 4 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt32>( nBorder1, 8, 4 );
+     ADDTEXT( "top-line =" );        __AddDec( t, nTmp );
+-    ::extract_value( nTmp, nBorder2, 0, 7 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt32>( nBorder2, 0, 7 );
+     ADDTEXT( " color=" );           __AddDec( t, nTmp );
+-    ::extract_value( nTmp, nBorder1, 12, 4 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt32>( nBorder1, 12, 4 );
+     ADDTEXT( "   bottom-line=" );   __AddDec( t, nTmp );
+-    ::extract_value( nTmp, nBorder2, 7, 7 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt32>( nBorder2, 7, 7 );
+     ADDTEXT( " color=" );           __AddDec( t, nTmp );
+     PRINT();
+     LINESTART();
+-    ::extract_value( nTmp, nBorder2, 21, 4 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt32>( nBorder2, 21, 4 );
+     ADDTEXT( "diag-line=" );        __AddDec( t, nTmp );
+-    ::extract_value( nTmp, nBorder2, 14, 7 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt32>( nBorder2, 14, 7 );
+     ADDTEXT( " color=" );           __AddDec( t, nTmp );
+     ADDTEXT( "   diag-tl-to-br=" ); lcl_AddOnOff( t, ::get_flag( nBorder1, static_cast< sal_Size >( 0x40000000U ) ) );
+     ADDTEXT( "   diag-bl-to-tr=" ); lcl_AddOnOff( t, ::get_flag( nBorder1, static_cast< sal_Size >( 0x80000000U ) ) );
+     PRINT();
+     LINESTART();
+-    ::extract_value( nTmp, nBorder2, 26, 6 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt32>( nBorder2, 26, 6 );
+     ADDTEXT( "area-pattern=" );     __AddDec( t, nTmp );
+-    ::extract_value( nTmp, nArea, 0, 7 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt16>( nArea, 0, 7 );
+     ADDTEXT( "   fore-color=" );    __AddDec( t, nTmp );
+-    ::extract_value( nTmp, nArea, 7, 7 );
++    nTmp = ::extract_value<sal_uInt16,sal_uInt16>( nArea, 7, 7 );
+     ADDTEXT( "   back-color=" );    __AddDec( t, nTmp );
+     PRINT();
+ 
+@@ -7478,7 +7478,7 @@
+ #define EXC_CTRLDUMP_PLAIN_STARTFLAG( text )                EXC_CTRLDUMP_PLAIN_STARTOPTFLAG( text, true, 0 )
+ #define EXC_CTRLDUMP_STARTFLAG( text )                      EXC_CTRLDUMP_STARTOPTFLAG( text, true, 0 )
+ #define EXC_CTRLDUMP_ADDFLAG( flag, text )                  { if( nFlags & (flag) ) t.Append( " " text ); }
+-#define EXC_CTRLDUMP_ADDFLAGVALUE( start, width, text )     { sal_uInt32 nValue; ::extract_value( nValue, nFlags, start, width ); t.Append( " " text "=" ); lclAppendDec( t, nValue ); }
++#define EXC_CTRLDUMP_ADDFLAGVALUE( start, width, text )     { sal_uInt32 nValue = ::extract_value<sal_uInt32,sal_uInt32>( nFlags, start, width ); t.Append( " " text "=" ); lclAppendDec( t, nValue ); }
+ #define EXC_CTRLDUMP_ENDFLAG( reserved )                    { if( nFlags & (reserved) ) { t.Append( " ?" ); lclAppendHex( t, static_cast< sal_uInt32 >( nFlags & (reserved) ) ); } EXC_CTRLDUMP_PRINT(); }
+ // read coordinates
+ #define EXC_CTRLDUMP_COORD2( text ) { EXC_CTRLDUMP_ALIGN_INSTRM( 4 ); EXC_CTRLDUMP_DEC2( text "-x" ); EXC_CTRLDUMP_DEC2( text "-y" ); }

Modified: trunk/patches/dev300/sc-export-shape-hlink-bindings.diff
==============================================================================
--- trunk/patches/dev300/sc-export-shape-hlink-bindings.diff	(original)
+++ trunk/patches/dev300/sc-export-shape-hlink-bindings.diff	Tue Dec  2 18:28:05 2008
@@ -1,7 +1,8 @@
-diff -rup sc/source/filter/excel/xecontent.cxx sc/source/filter/excel/xecontent.cxx
---- sc/source/filter/excel/xecontent.cxx	2007-05-22 20:46:39.000000000 +0100
-+++ sc/source/filter/excel/xecontent.cxx	2007-08-30 15:18:29.000000000 +0100
-@@ -510,12 +510,17 @@ void XclExpHyperlink::WriteBody( XclExpS
+diff --git sc/source/filter/excel/xecontent.cxx sc/source/filter/excel/xecontent.cxx
+index 083cf7a..f9588b6 100644
+--- sc/source/filter/excel/xecontent.cxx
++++ sc/source/filter/excel/xecontent.cxx
+@@ -461,12 +461,17 @@ void XclExpHyperlink::WriteBody( XclExpStream& rStrm )
  {
      sal_uInt16 nXclCol = static_cast< sal_uInt16 >( maScPos.Col() );
      sal_uInt16 nXclRow = static_cast< sal_uInt16 >( maScPos.Row() );
@@ -22,32 +23,80 @@
      rStrm.CopyFromStream( *mxVarData );
  }
  
-diff -rup sc/source/filter/excel/xlocx.cxx sc/source/filter/excel/xlocx.cxx
---- sc/source/filter/excel/xlocx.cxx	2007-08-30 16:42:48.000000000 +0100
-+++ sc/source/filter/excel/xlocx.cxx	2007-08-30 16:41:24.000000000 +0100
-@@ -117,6 +117,10 @@ using com::sun::star::uno::UNO_QUERY_THR
- #ifndef SC_XEESCHER_HXX
- #include "xeescher.hxx"
+diff --git sc/source/filter/inc/xcl97esc.hxx sc/source/filter/inc/xcl97esc.hxx
+index efb9076..3703827 100644
+--- sc/source/filter/inc/xcl97esc.hxx
++++ sc/source/filter/inc/xcl97esc.hxx
+@@ -55,12 +55,13 @@ class XclExpOcxControlObj;
+ class XclExpTbxControlObj;
  #endif
+ class XclExpShapeObj;
+-
++class EscherExHostAppData;
+ class ShapeInteractionHelper
+ {
+ public:
+    static XclExpShapeObj* CreateShapeObj(const XclExpRoot& rRoot, const ::com::sun::star::uno::Reference<
+                             ::com::sun::star::drawing::XShape >& xShape );
++   static void PopulateShapeInteractionInfo( const XclExpRoot& rRoot, const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape, EscherExHostAppData& rHostAppData );
+ };
+ 
+ class XclEscherEx : public EscherEx, protected XclExpRoot
+diff --git sc/source/filter/inc/xecontent.hxx sc/source/filter/inc/xecontent.hxx
+index f0b4302..8d14276 100644
+--- sc/source/filter/inc/xecontent.hxx
++++ sc/source/filter/inc/xecontent.hxx
+@@ -113,6 +113,7 @@ public:
+     /** Returns the cell representation text or 0, if not available. */
+     inline const String* GetRepr() const { return mxRepr.get(); }
+ 
++    virtual void        WriteEmbeddedData( XclExpStream& rStrm );
+ private:
+     /** Builds file name from the passed file URL. Tries to convert to relative file name.
+         @param rnLevel  (out-param) The parent directory level.
+diff --git sc/source/filter/xcl97/xcl97esc.cxx sc/source/filter/xcl97/xcl97esc.cxx
+index aaa0316..cf9da11 100644
+--- sc/source/filter/xcl97/xcl97esc.cxx
++++ sc/source/filter/xcl97/xcl97esc.cxx
+@@ -58,6 +58,9 @@
+ #include "global.hxx"
+ #include "document.hxx"
+ #include "drwlayer.hxx"
 +#include "xecontent.hxx"
 +#include <svx/flditem.hxx>
 +#include "userdat.hxx"
-+#include "drwlayer.hxx"
- 
- using ::rtl::OUString;
- using ::com::sun::star::uno::Reference;
-@@ -554,3 +556,33 @@ ShapeInteractionHelper::CreateShapeObj(const X
+ #include "xcl97rec.hxx"
+ #include "xehelper.hxx"
+ #include "xechart.hxx"
+@@ -233,6 +236,7 @@ EscherExHostAppData* XclEscherEx::StartShape( const com::sun::star::uno::Referen
+             // #107540# ignore permanent note shapes
+             // #i12190# do not ignore callouts (do not filter by object type ID)
+             pCurrXclObj = ShapeInteractionHelper::CreateShapeObj( GetRoot(), rShape );
++            ShapeInteractionHelper::PopulateShapeInteractionInfo( GetRoot(), rShape, *pCurrAppData );
+         }
+ 	}
+ 	if ( pCurrXclObj )
+@@ -345,6 +349,7 @@ void XclEscherEx::DeleteCurrAppData()
+ 		delete pCurrAppData->GetClientAnchor();
+ //		delete pCurrAppData->GetClientData();
+ 		delete pCurrAppData->GetClientTextbox();
++		delete pCurrAppData->GetInteractionInfo();
+ 		delete pCurrAppData;
+ 	}
+ }
+@@ -581,3 +586,35 @@ ShapeInteractionHelper::CreateShapeObj(const XclExpRoot& rRoot, const Reference<
  {
      return new XclExpShapeObj( rRoot, xShape );
  }
++
 +void
 +ShapeInteractionHelper::PopulateShapeInteractionInfo(const XclExpRoot& rRoot, const Reference< XShape >& xShape, EscherExHostAppData& rHostAppData )
 +{
 +   try
 +   {
 +      SvMemoryStream* pMemStrm = NULL;
-+      OUString sHyperLink;
-+      OUString sMacro;
++      rtl::OUString sHyperLink;
++      rtl::OUString sMacro;
 +      if ( ScMacroInfo* pInfo = ScDrawLayer::GetMacroInfo( ::GetSdrObjectFromXShape( xShape ) ) )
 +      {
 +         sHyperLink = pInfo->GetHlink();      
@@ -70,89 +119,20 @@
 +   {
 +   }
 +}
-diff -rup sc/source/filter/inc/xecontent.hxx sc/source/filter/inc/xecontent.hxx
---- sc/source/filter/inc/xecontent.hxx	2006-07-10 14:53:28.000000000 +0100
-+++ sc/source/filter/inc/xecontent.hxx	2007-08-30 15:16:07.000000000 +0100
-@@ -133,6 +133,7 @@ public:
-     /** Returns the cell representation text or 0, if not available. */
-     inline const String* GetRepr() const { return mxRepr.get(); }
- 
-+    virtual void        WriteEmbeddedData( XclExpStream& rStrm );
- private:
-     /** Builds file name from the passed file URL. Tries to convert to relative file name.
-         @param rnLevel  (out-param) The parent directory level.
-diff -rup sc/source/filter/inc/xlocx.hxx sc/source/filter/inc/xlocx.hxx
---- sc/source/filter/inc/xlocx.hxx	2007-08-30 16:42:48.000000000 +0100
-+++ sc/source/filter/inc/xlocx.hxx	2007-08-30 16:42:28.000000000 +0100
-@@ -170,12 +170,14 @@ private:
- };
- 
- class XclExpShapeObj;
-+class EscherExHostAppData;
- 
- class ShapeInteractionHelper
- {
- public:
-    static XclExpShapeObj* CreateShapeObj(const XclExpRoot& rRoot, const ::com::sun::star::uno::Reference<
-                             ::com::sun::star::drawing::XShape >& xShape );
-+   static void PopulateShapeInteractionInfo( const XclExpRoot& rRoot, const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape, EscherExHostAppData& rHostAppData );
- };
- // ============================================================================
- 
-diff -rup sc/source/filter/xcl97/xcl97esc.cxx sc/source/filter/xcl97/xcl97esc.cxx
---- sc/source/filter/xcl97/xcl97esc.cxx	2007-08-30 16:42:48.000000000 +0100
-+++ sc/source/filter/xcl97/xcl97esc.cxx	2007-08-30 16:09:45.000000000 +0100
-@@ -259,7 +259,8 @@ EscherExHostAppData* XclEscherEx::StartS
-             // #107540# ignore permanent note shapes
-             // #i12190# do not ignore callouts (do not filter by object type ID)
-             //pCurrXclObj = new XclObjAny( rRoot );   // just a metafile
-             pCurrXclObj = ShapeInteractionHelper::CreateShapeObj( rRoot, rShape );
-+            ShapeInteractionHelper::PopulateShapeInteractionInfo( rRoot, rShape, *pCurrAppData );	
-         }
- 	}
- 	if ( pCurrXclObj )
-@@ -373,6 +376,7 @@ void XclEscherEx::DeleteCurrAppData()
- 		delete pCurrAppData->GetClientAnchor();
- //		delete pCurrAppData->GetClientData();
- 		delete pCurrAppData->GetClientTextbox();
-+		delete pCurrAppData->GetInteractionInfo();
- 		delete pCurrAppData;
- 	}
- }
-diff -rup svx/source/msfilter/eschesdo.cxx svx/source/msfilter/eschesdo.cxx
---- svx/source/msfilter/eschesdo.cxx	2007-06-27 19:33:27.000000000 +0100
-+++ svx/source/msfilter/eschesdo.cxx	2007-08-30 16:16:48.000000000 +0100
-@@ -314,6 +314,19 @@ UINT32 ImplEESdrWriter::ImplWriteShape( 
-         // #i51348# shape name
-         if( aShapeName.Len() > 0 )
-             aPropOpt.AddOpt( ESCHER_Prop_wzName, aShapeName );
-+        if ( InteractionInfo* pInteraction = mpHostAppData->GetInteractionInfo() )
-+		{
-+			const std::auto_ptr< SvMemoryStream >& pMemStrm = pInteraction->getHyperlinkRecord();
-+			if ( pMemStrm.get() )
-+			{
-+				pMemStrm->ObjectOwnsMemory( FALSE );
-+				sal_uInt8* pBuf = (sal_uInt8*) pMemStrm->GetData();
-+				sal_uInt32 nSize = pMemStrm->Seek( STREAM_SEEK_TO_END );
-+				aPropOpt.AddOpt( ESCHER_Prop_pihlShape, sal_False, nSize, pBuf, nSize );;       
-+			}
-+			if ( pInteraction->hasInteraction() )
-+				aPropOpt.AddOpt( ESCHER_Prop_fPrint, 0x00080008 );       
-+        }
- 
- 		if ( rObj.GetType().EqualsAscii( "drawing.Custom" ) )
- 		{
---- svx/inc/svx/escherex.hxx.b4	2007-09-27 15:42:25.000000000 +0100
-+++ svx/inc/svx/escherex.hxx	2007-09-27 15:55:52.000000000 +0100
-@@ -77,6 +77,7 @@
- #include <com/sun/star/drawing/BitmapMode.hpp>
++
+diff --git svx/inc/svx/escherex.hxx svx/inc/svx/escherex.hxx
+index ad20c74..d7b7184 100644
+--- svx/inc/svx/escherex.hxx
++++ svx/inc/svx/escherex.hxx
+@@ -47,6 +47,7 @@
+ #include <com/sun/star/drawing/Hatch.hpp>
  #include <svx/msdffdef.hxx>
  #include "svx/svxdllapi.h"
 +#include <memory>
  
  		/*Record Name       FBT-Value   Instance                  Contents                                                          Wrd Exl PPt Ver*/
  // In der Mickysoft-Doku heissen die msofbt... statt ESCHER_...
-@@ -1273,6 +1273,19 @@ public:
+@@ -1256,6 +1257,19 @@ public:
  									const Rectangle& rRect ) = 0;
  };
  
@@ -172,7 +152,7 @@
  
  class EscherExHostAppData
  {
-@@ -1280,14 +1298,17 @@ private:
+@@ -1263,14 +1277,17 @@ private:
  		EscherExClientAnchor_Base*	pClientAnchor;
  		EscherExClientRecord_Base*	pClientData;
  		EscherExClientRecord_Base*	pClientTextbox;
@@ -191,7 +171,7 @@
  		void SetClientAnchor( EscherExClientAnchor_Base* p )
  			{ pClientAnchor = p; }
  		void SetClientData( EscherExClientRecord_Base* p )
-@@ -1296,6 +1317,8 @@ public:
+@@ -1279,6 +1296,8 @@ public:
  			{ pClientTextbox = p; }
  		void SetDontWriteShape( BOOL b )
  			{ bDontWriteShape = b; }
@@ -200,3 +180,27 @@
  		EscherExClientAnchor_Base* GetClientAnchor() const
  			{ return pClientAnchor; }
  		EscherExClientRecord_Base* GetClientData() const
+diff --git svx/source/msfilter/eschesdo.cxx svx/source/msfilter/eschesdo.cxx
+index e93661a..243c236 100644
+--- svx/source/msfilter/eschesdo.cxx
++++ svx/source/msfilter/eschesdo.cxx
+@@ -251,6 +251,19 @@ UINT32 ImplEESdrWriter::ImplWriteShape( ImplEESdrObject& rObj,
+         // #i51348# shape name
+         if( aShapeName.Len() > 0 )
+             aPropOpt.AddOpt( ESCHER_Prop_wzName, aShapeName );
++        if ( InteractionInfo* pInteraction = mpHostAppData->GetInteractionInfo() )
++		{
++			const std::auto_ptr< SvMemoryStream >& pMemStrm = pInteraction->getHyperlinkRecord();
++			if ( pMemStrm.get() )
++			{
++				pMemStrm->ObjectOwnsMemory( FALSE );
++				sal_uInt8* pBuf = (sal_uInt8*) pMemStrm->GetData();
++				sal_uInt32 nSize = pMemStrm->Seek( STREAM_SEEK_TO_END );
++				aPropOpt.AddOpt( ESCHER_Prop_pihlShape, sal_False, nSize, pBuf, nSize );;       
++			}
++			if ( pInteraction->hasInteraction() )
++				aPropOpt.AddOpt( ESCHER_Prop_fPrint, 0x00080008 );       
++        }
+ 
+ 		if ( rObj.GetType().EqualsAscii( "drawing.Custom" ) )
+ 		{

Modified: trunk/patches/dev300/sc-export-shape-macro-bindings.diff
==============================================================================
--- trunk/patches/dev300/sc-export-shape-macro-bindings.diff	(original)
+++ trunk/patches/dev300/sc-export-shape-macro-bindings.diff	Tue Dec  2 18:28:05 2008
@@ -1,168 +1,79 @@
-diff -up sc/source/filter/inc/xeescher.hxx sc/source/filter/inc/xeescher.hxx
---- sc/source/filter/inc/xeescher.hxx	2007-05-22 20:55:36.000000000 +0100
-+++ sc/source/filter/inc/xeescher.hxx	2007-08-29 13:11:20.000000000 +0100
-@@ -79,6 +79,34 @@ private:
-     sal_uInt16          mnEntryCount;   /// Number of entries in source range.
- };
- 
-+class XclMacroHelper : public XclExpControlObjHelper
-+{
-+protected:
-+    XclTokenArrayRef    mxMacroLink;    /// Token array containing a link to an attached macro.
-+
-+public:
-+    explicit            XclMacroHelper( const XclExpRoot& rRoot );
-+    virtual             ~XclMacroHelper();
-+    /** Writes an ftMacro subrecord containing a macro link, or nothing, if no macro present. */
-+    void                WriteMacroSubRec( XclExpStream& rStrm  );
-+    /** Sets the name of a macro for object of passed type
-+        @return  true = The passed event descriptor was valid, macro name has been found. */
-+    bool                SetMacroLink( const ::com::sun::star::script::ScriptEventDescriptor& rEvent, sal_uInt16 nObjType );
-+
-+    /** Sets the name of a macro 
-+        @return  true = The passed macro name has been found. */
-+    bool                SetMacroLink( const String& rMacro );
-+};
-+
-+class XclExpShapeObj : public XclObjAny, public XclMacroHelper
-+{
-+public:
-+    explicit            XclExpShapeObj( const XclExpRoot& rRoot, ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
-+    virtual             ~XclExpShapeObj();
-+private:
-+    virtual void        WriteSubRecs( XclExpStream& rStrm );
-+};
-+
- // ----------------------------------------------------------------------------
- 
- #if EXC_EXP_OCX_CTRL
-@@ -105,22 +133,19 @@ private:
- #else
- 
- /** Represents an OBJ record for an TBX form control. */
--class XclExpTbxControlObj : public XclObj, public XclExpControlObjHelper
-+class XclExpTbxControlObj : public XclObj, public XclMacroHelper
- {
- public:
-     explicit            XclExpTbxControlObj(
-                             const XclExpRoot& rRoot,
-                             ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
- 
--    /** Sets the name of a macro attached to this control.
-+    /** Sets the name of a macro 
-         @return  true = The passed event descriptor was valid, macro name has been found. */
-     bool                SetMacroLink( const ::com::sun::star::script::ScriptEventDescriptor& rEvent );
--
- private:
-     virtual void        WriteSubRecs( XclExpStream& rStrm );
- 
--    /** Writes an ftMacro subrecord containing a macro link, or nothing, if no macro present. */
--    void                WriteMacroSubRec( XclExpStream& rStrm );
-     /** Writes a subrecord containing a cell link, or nothing, if no link present. */
-     void                WriteCellLinkSubRec( XclExpStream& rStrm, sal_uInt16 nSubRecId );
-     /** Writes the ftSbs sub structure containing scrollbar data. */
-@@ -128,7 +153,6 @@ private:
- 
- private:
-     ScfInt16Vec         maMultiSel;     /// Indexes of all selected entries in a multi selection.
--    XclTokenArrayRef    mxMacroLink;    /// Token array containing a link to an attached macro.
-     sal_Int32           mnHeight;       /// Height of the control.
-     sal_uInt16          mnState;        /// Checked/unchecked state.
-     sal_Int16           mnLineCount;    /// Combobox dropdown line count.
-diff -up sc/source/filter/inc/xlocx.hxx sc/source/filter/inc/xlocx.hxx
---- sc/source/filter/inc/xlocx.hxx	2007-08-27 15:31:36.000000000 +0100
-+++ sc/source/filter/inc/xlocx.hxx	2007-08-29 13:09:56.000000000 +0100
-@@ -169,6 +169,14 @@ private:
- #endif
- };
- 
-+class XclExpShapeObj;
-+
-+class ShapeInteractionHelper
-+{
-+public:
-+   static XclExpShapeObj* CreateShapeObj(const XclExpRoot& rRoot, const ::com::sun::star::uno::Reference<
-+                            ::com::sun::star::drawing::XShape >& xShape );
-+};
- // ============================================================================
- 
- #endif
-diff -up sc/source/filter/xcl97/xcl97esc.cxx sc/source/filter/xcl97/xcl97esc.cxx
---- sc/source/filter/xcl97/xcl97esc.cxx	2007-05-22 21:01:06.000000000 +0100
-+++ sc/source/filter/xcl97/xcl97esc.cxx	2007-08-29 13:03:54.000000000 +0100
-@@ -258,7 +258,8 @@ EscherExHostAppData* XclEscherEx::StartS
-         {
-             // #107540# ignore permanent note shapes
-             // #i12190# do not ignore callouts (do not filter by object type ID)
--            pCurrXclObj = new XclObjAny( rRoot );   // just a metafile
-+            //pCurrXclObj = new XclObjAny( rRoot );   // just a metafile
-+            pCurrXclObj = ShapeInteractionHelper::CreateShapeObj( rRoot, rShape );
-         }
- 	}
- 	if ( pCurrXclObj )
-diff -up sc/source/filter/excel/xeescher.cxx sc/source/filter/excel/xeescher.cxx
---- sc/source/filter/excel/xeescher.cxx	2007-08-02 14:30:41.000000000 +0100
-+++ sc/source/filter/excel/xeescher.cxx	2007-08-29 14:24:09.000000000 +0100
-@@ -106,7 +106,8 @@
+diff --git sc/source/filter/excel/xeescher.cxx sc/source/filter/excel/xeescher.cxx
+index 1bf7c00..8518911 100644
+--- sc/source/filter/excel/xeescher.cxx
++++ sc/source/filter/excel/xeescher.cxx
+@@ -58,7 +58,9 @@
  #include "xelink.hxx"
  #include "xename.hxx"
  #include "xestyle.hxx"
 -
 +#include "userdat.hxx"
 +#include "drwlayer.hxx"
++#include "svx/unoapi.hxx"
  using ::rtl::OUString;
  using ::com::sun::star::uno::UNO_QUERY;
  using ::com::sun::star::uno::Reference;
-@@ -319,7 +321,7 @@ void XclExpOcxControlObj::WriteSubRecs( 
+@@ -321,7 +323,7 @@ void XclExpOcxControlObj::WriteSubRecs( XclExpStream& rStrm )
  
  XclExpTbxControlObj::XclExpTbxControlObj( const XclExpRoot& rRoot, Reference< XShape > xShape ) :
-     XclObj( rRoot, EXC_OBJ_CMO_UNKNOWN, true ),
--    XclExpControlObjHelper( rRoot ),
+     XclObj( rRoot, EXC_OBJTYPE_UNKNOWN, true ),
+-    XclExpControlHelper( rRoot ),
 +    XclMacroHelper( rRoot ),
      mnHeight( 0 ),
      mnState( 0 ),
      mnLineCount( 0 ),
-@@ -566,21 +568,7 @@ XclExpTbxControlObj::XclExpTbxControlObj
+@@ -568,6 +570,8 @@ XclExpTbxControlObj::XclExpTbxControlObj( const XclExpRoot& rRoot, Reference< XS
  
  bool XclExpTbxControlObj::SetMacroLink( const ScriptEventDescriptor& rEvent )
  {
--    if( rEvent.ListenerType.getLength() && (rEvent.ListenerType == XclControlObjHelper::GetTbxListenerType( mnObjType )) &&
--        rEvent.EventMethod.getLength() && (rEvent.EventMethod == XclControlObjHelper::GetTbxEventMethod( mnObjType )) &&
--        (rEvent.ScriptType == XclControlObjHelper::GetTbxScriptType()) )
--    {
--        // macro name is stored in a NAME record, and referred to by a formula containing a tNameXR token
--        String aMacroName( XclControlObjHelper::GetXclMacroName( rEvent.ScriptCode ) );
--        if( aMacroName.Len() )
--        {
--            sal_uInt16 nExtSheet = GetLocalLinkManager().FindExtSheet( EXC_EXTSH_OWNDOC );
--            sal_uInt16 nNameIdx = GetNameManager().InsertMacroCall( aMacroName, true, false );
--            mxMacroLink = GetFormulaCompiler().CreateNameXFormula( nExtSheet, nNameIdx );
--            return true;
--        }
--    }
--    return false;
-+    return XclMacroHelper::SetMacroLink( rEvent, mnObjType );
++    return XclMacroHelper::SetMacroLink( rEvent, meEventType );
++/*
+     String aMacroName = XclControlHelper::ExtractFromMacroDescriptor( rEvent, meEventType );
+     if( aMacroName.Len() )
+     {
+@@ -577,6 +581,7 @@ bool XclExpTbxControlObj::SetMacroLink( const ScriptEventDescriptor& rEvent )
+         return true;
+     }
+     return false;
++*/
  }
  
  void XclExpTbxControlObj::WriteSubRecs( XclExpStream& rStrm )
-@@ -711,11 +699,6 @@ void XclExpTbxControlObj::WriteSubRecs( 
+@@ -715,12 +720,6 @@ void XclExpTbxControlObj::WriteSubRecs( XclExpStream& rStrm )
      }
  }
  
 -void XclExpTbxControlObj::WriteMacroSubRec( XclExpStream& rStrm )
 -{
 -    if( mxMacroLink.is() )
--        WriteFormulaSubRec( rStrm, EXC_ID_OBJ_FTMACRO, *mxMacroLink );
+-        WriteFormulaSubRec( rStrm, EXC_ID_OBJMACRO, *mxMacroLink );
 -}
- 
+-
  void XclExpTbxControlObj::WriteCellLinkSubRec( XclExpStream& rStrm, sal_uInt16 nSubRecId )
  {
-@@ -941,3 +924,70 @@ void XclExpNote::WriteBody( XclExpStream
+     if( const XclTokenArray* pCellLink = GetCellLinkTokArr() )
+@@ -749,6 +748,7 @@ void XclExpTbxControlObj::WriteSbs( XclExpStream& rStrm )
+ 
+ #endif
+ 
++
+ // ----------------------------------------------------------------------------
+ 
+ XclExpChartObj::XclExpChartObj( const XclExpRoot& rRoot, Reference< XShape > xShape ) :
+@@ -938,6 +938,7 @@ void XclExpNote::Save( XclExpStream& rStrm )
+     }
+ }
+ 
++
+ void XclExpNote::WriteBody( XclExpStream& rStrm )
+ {
+     // BIFF5/BIFF7 is written separately
+@@ -956,3 +957,67 @@ void XclExpNote::WriteBody( XclExpStream& rStrm )
  
  // ============================================================================
  
 +XclMacroHelper::XclMacroHelper( const XclExpRoot& rRoot ) :
-+    XclExpControlObjHelper( rRoot )
++    XclExpControlHelper( rRoot )
 +{
 +}
 +
@@ -173,18 +84,15 @@
 +void XclMacroHelper::WriteMacroSubRec( XclExpStream& rStrm )
 +{
 +    if( mxMacroLink.is() )
-+        WriteFormulaSubRec( rStrm, EXC_ID_OBJ_FTMACRO, *mxMacroLink );
++        WriteFormulaSubRec( rStrm, EXC_ID_OBJMACRO, *mxMacroLink );
 +}
 +
 +bool 
-+XclMacroHelper::SetMacroLink( const ScriptEventDescriptor& rEvent, sal_uInt16 nObjType )
++XclMacroHelper::SetMacroLink( const ScriptEventDescriptor& rEvent, const XclTbxEventType& nEventType )
 +{
-+    if( rEvent.ListenerType.getLength() && (rEvent.ListenerType == XclControlObjHelper::GetTbxListenerType( nObjType )) &&
-+        rEvent.EventMethod.getLength() && (rEvent.EventMethod == XclControlObjHelper::GetTbxEventMethod( nObjType )) &&
-+        (rEvent.ScriptType == XclControlObjHelper::GetTbxScriptType()) )
++    String aMacroName = XclControlHelper::ExtractFromMacroDescriptor( rEvent, nEventType );
++    if( aMacroName.Len() )
 +    {
-+        // macro name is stored in a NAME record, and referred to by a formula containing a tNameXR token
-+        String aMacroName( XclControlObjHelper::GetXclMacroName( rEvent.ScriptCode ) );
 +        return SetMacroLink( aMacroName );
 +    }
 +    return false;
@@ -212,7 +120,7 @@
 +    {
 +        ScMacroInfo* pInfo = ScDrawLayer::GetMacroInfo( pSdrObj );
 +        if ( pInfo && pInfo->GetMacro().getLength() )
-+            SetMacroLink( XclControlObjHelper::GetXclMacroName( pInfo->GetMacro() ) ); 
++            SetMacroLink( XclControlHelper::GetXclMacroName( pInfo->GetMacro() ) ); 
 +    }
 +}
 +
@@ -228,22 +136,30 @@
 +
 +// ============================================================================
 +
-diff -up sc/source/filter/excel/xlocx.cxx sc/source/filter/excel/xlocx.cxx
---- sc/source/filter/excel/xlocx.cxx	2007-08-27 15:31:36.000000000 +0100
-+++ sc/source/filter/excel/xlocx.cxx	2007-08-29 13:06:50.000000000 +0100
-@@ -549,4 +549,8 @@ void XclExpOcxConverter::ConvertTbxMacro
+diff --git sc/source/filter/inc/xcl97esc.hxx sc/source/filter/inc/xcl97esc.hxx
+index 9ef6c91..efb9076 100644
+--- sc/source/filter/inc/xcl97esc.hxx
++++ sc/source/filter/inc/xcl97esc.hxx
+@@ -54,6 +54,14 @@ class XclExpOcxControlObj;
+ #else
+ class XclExpTbxControlObj;
  #endif
- 
- // ============================================================================
--
-+XclExpShapeObj* 
-+ShapeInteractionHelper::CreateShapeObj(const XclExpRoot& rRoot, const Reference< XShape >& xShape )
++class XclExpShapeObj;
++
++class ShapeInteractionHelper
 +{
-+    return new XclExpShapeObj( rRoot, xShape );
-+}
---- sc/source/filter/inc/xcl97rec.hxx	2007-01-22 13:20:49.000000000 +0000
-+++ sc/source/filter/inc/xcl97rec.hxx	2007-09-04 14:15:19.000000000 +0100
-@@ -297,7 +297,7 @@ public:
++public:
++   static XclExpShapeObj* CreateShapeObj(const XclExpRoot& rRoot, const ::com::sun::star::uno::Reference<
++                            ::com::sun::star::drawing::XShape >& xShape );
++};
+ 
+ class XclEscherEx : public EscherEx, protected XclExpRoot
+ {
+diff --git sc/source/filter/inc/xcl97rec.hxx sc/source/filter/inc/xcl97rec.hxx
+index a3a3589..ff880b2 100644
+--- sc/source/filter/inc/xcl97rec.hxx
++++ sc/source/filter/inc/xcl97rec.hxx
+@@ -289,7 +289,7 @@ public:
  
  class XclObjAny : public XclObj
  {
@@ -252,3 +168,91 @@
      virtual void                WriteSubRecs( XclExpStream& rStrm );
  
  public:
+diff --git sc/source/filter/inc/xeescher.hxx sc/source/filter/inc/xeescher.hxx
+index 788f366..05b9cc5 100644
+--- sc/source/filter/inc/xeescher.hxx
++++ sc/source/filter/inc/xeescher.hxx
+@@ -89,6 +89,34 @@ private:
+     sal_uInt16          mnEntryCount;   /// Number of entries in source range.
+ };
+ 
++class XclMacroHelper : public XclExpControlHelper
++{
++protected:
++    XclTokenArrayRef    mxMacroLink;    /// Token array containing a link to an attached macro.
++
++public:
++    explicit            XclMacroHelper( const XclExpRoot& rRoot );
++    virtual             ~XclMacroHelper();
++    /** Writes an ftMacro subrecord containing a macro link, or nothing, if no macro present. */
++    void                WriteMacroSubRec( XclExpStream& rStrm  );
++    /** Sets the name of a macro for object of passed type
++        @return  true = The passed event descriptor was valid, macro name has been found. */
++    bool                SetMacroLink( const ::com::sun::star::script::ScriptEventDescriptor& rEvent,  const XclTbxEventType& nEventType );
++
++    /** Sets the name of a macro 
++        @return  true = The passed macro name has been found. */
++    bool                SetMacroLink( const String& rMacro );
++};
++
++class XclExpShapeObj : public XclObjAny, public XclMacroHelper
++{
++public:
++    explicit            XclExpShapeObj( const XclExpRoot& rRoot, ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
++    virtual             ~XclExpShapeObj();
++private:
++    virtual void        WriteSubRecs( XclExpStream& rStrm );
++};
++
+ // ----------------------------------------------------------------------------
+ 
+ #if EXC_EXP_OCX_CTRL
+@@ -115,7 +143,7 @@ private:
+ #else
+ 
+ /** Represents an OBJ record for an TBX form control. */
+-class XclExpTbxControlObj : public XclObj, public XclExpControlHelper
++class XclExpTbxControlObj : public XclObj, public XclMacroHelper
+ {
+ public:
+     explicit            XclExpTbxControlObj(
+@@ -129,8 +157,6 @@ public:
+ private:
+     virtual void        WriteSubRecs( XclExpStream& rStrm );
+ 
+-    /** Writes an ftMacro subrecord containing a macro link, or nothing, if no macro present. */
+-    void                WriteMacroSubRec( XclExpStream& rStrm );
+     /** Writes a subrecord containing a cell link, or nothing, if no link present. */
+     void                WriteCellLinkSubRec( XclExpStream& rStrm, sal_uInt16 nSubRecId );
+     /** Writes the ftSbs sub structure containing scrollbar data. */
+@@ -138,7 +164,6 @@ private:
+ 
+ private:
+     ScfInt16Vec         maMultiSel;     /// Indexes of all selected entries in a multi selection.
+-    XclTokenArrayRef    mxMacroLink;    /// Token array containing a link to an attached macro.
+     XclTbxEventType     meEventType;    /// Type of supported macro event.
+     sal_Int32           mnHeight;       /// Height of the control.
+     sal_uInt16          mnState;        /// Checked/unchecked state.
+diff --git sc/source/filter/xcl97/xcl97esc.cxx sc/source/filter/xcl97/xcl97esc.cxx
+index 09790ad..aaa0316 100644
+--- sc/source/filter/xcl97/xcl97esc.cxx
++++ sc/source/filter/xcl97/xcl97esc.cxx
+@@ -232,7 +232,7 @@ EscherExHostAppData* XclEscherEx::StartShape( const com::sun::star::uno::Referen
+         {
+             // #107540# ignore permanent note shapes
+             // #i12190# do not ignore callouts (do not filter by object type ID)
+-            pCurrXclObj = new XclObjAny( GetRoot() );   // just a metafile
++            pCurrXclObj = ShapeInteractionHelper::CreateShapeObj( GetRoot(), rShape );
+         }
+ 	}
+ 	if ( pCurrXclObj )
+@@ -576,4 +576,8 @@ void XclEscherClientTextbox::WriteData( EscherEx& /*rEx*/ ) const
+     pXclObj->SetText( GetRoot(), rTextObj );
+ }
+ 
+-
++XclExpShapeObj* 
++ShapeInteractionHelper::CreateShapeObj(const XclExpRoot& rRoot, const Reference< XShape >& xShape )
++{
++    return new XclExpShapeObj( rRoot, xShape );
++}

Modified: trunk/patches/dev300/vba-sc-autoshapes-hyperlinks.diff
==============================================================================
--- trunk/patches/dev300/vba-sc-autoshapes-hyperlinks.diff	(original)
+++ trunk/patches/dev300/vba-sc-autoshapes-hyperlinks.diff	Tue Dec  2 18:28:05 2008
@@ -215,7 +215,7 @@
      // macro and hyperlink
 -#ifdef ISSUE66550_HLINK_FOR_SHAPES
 -     if( mbSimpleMacro && ((maMacroName.Len() > 0) || (maHyperlink.getLength() > 0)) )
-+     if( mbSimpleMacro && ((maMacroName.Len() > 0) || (maHyperlink.Len() > 0)) )
++     if( ( mbSimpleMacro && (maMacroName.Len() > 0) ) || (maHyperlink.Len() > 0) )
      {
          if( ScMacroInfo* pInfo = ScDrawLayer::GetMacroInfo( &rSdrObj, TRUE ) )
 @@ -500,11 +499,6 @@ void XclImpDrawObjBase::ProcessSdrObject( SdrObject& rSdrObj ) const

Added: trunk/patches/dev300/vba-xl-import-crash.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/vba-xl-import-crash.diff	Tue Dec  2 18:28:05 2008
@@ -0,0 +1,12 @@
+--- basic.orig/source/basmgr/basicmanagerrepository.cxx	2008-11-25 19:14:29.000000000 +0000
++++ basic/source/basmgr/basicmanagerrepository.cxx	2008-12-01 17:22:12.000000000 +0000
+@@ -431,7 +431,8 @@ namespace basic
+         {
+ 		    // load BASIC-manager
+ 		    SfxErrorContext aErrContext( ERRCTX_SFX_LOADBASIC,
+-                ::comphelper::DocumentInfo::getDocumentTitle( _rxDocumentModel ) );
++                //::comphelper::DocumentInfo::getDocumentTitle( _rxDocumentModel ) );
++                ::rtl::OUString::createFromAscii("Can't Access title") );
+ 		    String aAppBasicDir = SvtPathOptions().GetBasicPath();
+ 
+             // Storage and BaseURL are only needed by binary documents!

Modified: trunk/patches/vba/ObjectModule.diff
==============================================================================
--- trunk/patches/vba/ObjectModule.diff	(original)
+++ trunk/patches/vba/ObjectModule.diff	Tue Dec  2 18:28:05 2008
@@ -2086,8 +2086,8 @@
 +                    }
 +                }
 +            }
-+        return CREATE_OUSTRING( EXC_MACRONAME_PRE ) + sTmp + CREATE_OUSTRING( EXC_MACRONAME_SUF );
 +        }
++        return CREATE_OUSTRING( EXC_MACRONAME_PRE ) + sTmp + CREATE_OUSTRING( EXC_MACRONAME_SUF );
 +    }
      return OUString();
  }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]