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



Author: noelpwer
Date: Mon Feb  2 16:32:52 2009
New Revision: 15275
URL: http://svn.gnome.org/viewvc/ooo-build?rev=15275&view=rev

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

        * patches/dev300/vba-excel-iserror-fix.diff, partial fix n#469762
        * patches/dev300/apply: add fix above


Added:
   trunk/patches/vba/vba-excel-iserror-fix.diff
Modified:
   trunk/ChangeLog
   trunk/patches/dev300/apply

Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply	(original)
+++ trunk/patches/dev300/apply	Mon Feb  2 16:32:52 2009
@@ -1668,6 +1668,8 @@
 #vba-word-executable-option.diff, Fong
 vba-interior-object-fix.diff, n#459479, Fong
 range-defaultmethod-i98476.diff, i#98476 
+vba-excel-iserror-fix.diff, n#469762
+
 [ VBAUntested ]
 SectionOwner => noelpwer
 vba-basic-null.diff i#85349, jjiao

Added: trunk/patches/vba/vba-excel-iserror-fix.diff
==============================================================================
--- (empty file)
+++ trunk/patches/vba/vba-excel-iserror-fix.diff	Mon Feb  2 16:32:52 2009
@@ -0,0 +1,17 @@
+--- sc/source/ui/vba/vbawsfunction.cxx	2009-02-02 15:33:32.000000000 +0000
++++ sc/source/ui/vba/vbawsfunction.cxx.patched	2009-02-02 16:18:58.000000000 +0000
+@@ -88,12 +88,13 @@ ScVbaWSFunction::invoke(const rtl::OUStr
+ 			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() );
+-	if( eOp == ocMatch )
++	if( eOp == ocMatch || eOp == ocIsError )
+ 	{
+ 		double fVal = 0.0;
+ 		if( aRet >>= fVal )



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