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

Noel Power noelp at kemper.freedesktop.org
Thu Aug 12 11:44:53 PDT 2010


 patches/dev300/apply                         |    2 +
 patches/vba/vba-fix-shapepic-hlinkmacro.diff |   41 +++++++++++++++++++++++++++
 2 files changed, 43 insertions(+)

New commits:
commit bb2ece8e337065dbaf0251f96a34a4f868df9e3b
Author: Noel Power <noel.power at novell.com>
Date:   Thu Aug 12 18:01:57 2010 +0100

    fix hlink/macro import/export for shape and pic objects ( xls )
    
    * patches/dev300/apply:
    * patches/vba/vba-fix-shapepic-hlinkmacro.diff:

diff --git a/patches/dev300/apply b/patches/dev300/apply
index de35b68..486991e 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -1595,6 +1595,8 @@ vba-msvbahelper-splitbuilt.diff
 vba-fix-interesection.diff
 # use oox filter exclusively for import of controls  ( excel/word )
 vba-use-ooxfilter-forcontrols.diff
+# fix hlink & macro import/export for autoshapes and pictures
+vba-fix-shapepic-hlinkmacro.diff
 [ VBAUntested ]
 SectionOwner => noelpwer
 # KEEP - unfinished autotext stuff 
diff --git a/patches/vba/vba-fix-shapepic-hlinkmacro.diff b/patches/vba/vba-fix-shapepic-hlinkmacro.diff
new file mode 100644
index 0000000..ec931dd
--- /dev/null
+++ b/patches/vba/vba-fix-shapepic-hlinkmacro.diff
@@ -0,0 +1,41 @@
+diff --git sc/source/filter/excel/xiescher.cxx sc/source/filter/excel/xiescher.cxx
+index 35336f7..e708d07 100644
+--- sc/source/filter/excel/xiescher.cxx
++++ sc/source/filter/excel/xiescher.cxx
+@@ -539,8 +539,9 @@ void XclImpDrawObjBase::PreProcessSdrObject( XclImpDffConverter& rDffConv, SdrOb
+     }
+ 
+     // macro and hyperlink
+-    if( mbSimpleMacro && ((maMacroName.Len() > 0) ||
+- (maHyperlink.Len() > 0)) )
++    // removed oracle/sun check for mbSimpleMacro ( no idea what its for )
++    if( (maMacroName.Len() > 0 ) ||
++ (maHyperlink.Len() > 0) )
+     {
+         if( ScMacroInfo* pInfo = ScDrawLayer::GetMacroInfo( &rSdrObj, TRUE ) )
+         {
+diff --git sc/source/filter/excel/xltools.cxx sc/source/filter/excel/xltools.cxx
+index 51146d5..e703159 100644
+--- sc/source/filter/excel/xltools.cxx
++++ sc/source/filter/excel/xltools.cxx
+@@ -695,7 +695,7 @@ void XclTools::SkipSubStream( XclImpStream& rStrm )
+ 
+ // Basic macro names ----------------------------------------------------------
+ 
+-const OUString XclTools::maSbMacroPrefix( RTL_CONSTASCII_USTRINGPARAM( "vnd.sun.star.script:Standard." ) );
++const OUString XclTools::maSbMacroPrefix( RTL_CONSTASCII_USTRINGPARAM( "vnd.sun.star.script:" ) );
+ const OUString XclTools::maSbMacroSuffix( RTL_CONSTASCII_USTRINGPARAM( "?language=Basic&location=document" ) );
+ 
+ OUString XclTools::GetSbMacroUrl( const String& rMacroName, SfxObjectShell* pDocShell )
+@@ -727,7 +727,10 @@ String XclTools::GetXclMacroName( const OUString& rSbMacroUrl )
+     sal_Int32 nMacroNameLen = nSbMacroUrlLen - maSbMacroPrefix.getLength() - maSbMacroSuffix.getLength();
+     if( (nMacroNameLen > 0) && rSbMacroUrl.matchIgnoreAsciiCase( maSbMacroPrefix, 0 ) &&
+             rSbMacroUrl.matchIgnoreAsciiCase( maSbMacroSuffix, nSbMacroUrlLen - maSbMacroSuffix.getLength() ) )
+-        return rSbMacroUrl.copy( maSbMacroPrefix.getLength(), nMacroNameLen );
++    {
++        sal_Int32 nPrjDot = rSbMacroUrl.indexOf( '.', maSbMacroPrefix.getLength() ) + 1;
++        return rSbMacroUrl.copy( nPrjDot, nSbMacroUrlLen - nPrjDot - maSbMacroSuffix.getLength() );
++    }
+     return String::EmptyString();
+ }
+ 


More information about the ooo-build-commit mailing list