ooo-build r15113 - in branches/ooo-build-3-0-1: . patches/dev300
- From: kyoshida svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r15113 - in branches/ooo-build-3-0-1: . patches/dev300
- Date: Wed, 21 Jan 2009 16:12:05 +0000 (UTC)
Author: kyoshida
Date: Wed Jan 21 16:12:05 2009
New Revision: 15113
URL: http://svn.gnome.org/viewvc/ooo-build?rev=15113&view=rev
Log:
2009-01-21 Kohei Yoshida <kyoshida novell com>
* patches/dev300/sc-string-arg.diff: backported from trunk in order to
fix the issue with Err:529 internal error number. (n#440808)
Modified:
branches/ooo-build-3-0-1/ChangeLog
branches/ooo-build-3-0-1/patches/dev300/sc-string-arg.diff
Modified: branches/ooo-build-3-0-1/patches/dev300/sc-string-arg.diff
==============================================================================
--- branches/ooo-build-3-0-1/patches/dev300/sc-string-arg.diff (original)
+++ branches/ooo-build-3-0-1/patches/dev300/sc-string-arg.diff Wed Jan 21 16:12:05 2009
@@ -1,18 +1,29 @@
-diff -urp --exclude=CVS --exclude=unxlngi6.pro --exclude=sc.vpj sc.clean/source/core/inc/interpre.hxx sc/source/core/inc/interpre.hxx
---- sc.clean/source/core/inc/interpre.hxx 2008-04-01 12:26:35.000000000 -0400
-+++ sc/source/core/inc/interpre.hxx 2008-04-21 11:10:56.000000000 -0400
-@@ -192,8 +192,8 @@ void ReplaceCell( ScAddress& ); // f
+diff --git sc/source/core/inc/interpre.hxx sc/source/core/inc/interpre.hxx
+index 474d2aa..2dc537f 100644
+--- sc/source/core/inc/interpre.hxx
++++ sc/source/core/inc/interpre.hxx
+@@ -174,8 +174,18 @@ void ReplaceCell( ScAddress& ); // for TableOp
void ReplaceCell( SCCOL& rCol, SCROW& rRow, SCTAB& rTab ); // for TableOp
BOOL IsTableOpInRange( const ScRange& );
ULONG GetCellNumberFormat( const ScAddress&, const ScBaseCell* );
-double GetCellValue( const ScAddress&, const ScBaseCell* );
-double GetCellValueOrZero( const ScAddress&, const ScBaseCell* );
++
++/**
++ * @param bNoValueAsError when true, cell having no numerical value
++ * (errCellNoValue) is interpreted as a legitimate
++ * no-value (errNoValue) error.
++ * @param bBlankAsZero when true, a cell having a blank text value is
++ * interpreted as a no-value error.
++ *
++ * @return double cell value.
++ */
+double GetCellValue( const ScAddress&, const ScBaseCell*, bool bNoValueAsError = false, bool bBlankAsZero = false );
+double GetCellValueOrZero( const ScAddress&, const ScBaseCell*, bool bBlankAsZero );
double GetValueCellValue( const ScAddress&, const ScValueCell* );
ScBaseCell* GetCell( const ScAddress& rPos )
{ return pDok->GetCell( rPos ); }
-@@ -332,7 +332,7 @@ StackVar GetStackType( BYTE nParam );
+@@ -314,7 +324,7 @@ StackVar GetStackType( BYTE nParam );
BYTE GetByte() { return cPar; }
// generiert aus DoubleRef positionsabhaengige SingleRef
BOOL DoubleRefToPosSingleRef( const ScRange& rRange, ScAddress& rAdr );
@@ -21,11 +32,12 @@
double GetDoubleWithDefault(double nDefault);
BOOL IsMissing();
BOOL GetBool() { return GetDouble() != 0.0; }
-diff -urp --exclude=CVS --exclude=unxlngi6.pro --exclude=sc.vpj sc.clean/source/core/tool/interpr1.cxx sc/source/core/tool/interpr1.cxx
---- sc.clean/source/core/tool/interpr1.cxx 2008-04-01 12:26:37.000000000 -0400
-+++ sc/source/core/tool/interpr1.cxx 2008-04-21 11:21:35.000000000 -0400
-@@ -3059,12 +3059,13 @@ double ScInterpreter::IterateParameters(
- size_t nRefInList = 0;
+diff --git sc/source/core/tool/interpr1.cxx sc/source/core/tool/interpr1.cxx
+index 722ca4b..a91fc44 100644
+--- sc/source/core/tool/interpr1.cxx
++++ sc/source/core/tool/interpr1.cxx
+@@ -3064,12 +3064,13 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
+ nGlobalError = 0;
while (nParamCount-- > 0)
{
- switch (GetStackType())
@@ -41,7 +53,7 @@
{
String aStr( PopString() );
sal_uInt32 nFIndex = 0; // damit default Land/Spr.
-@@ -3073,42 +3074,23 @@ double ScInterpreter::IterateParameters(
+@@ -3078,42 +3079,23 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
}
else
{
@@ -97,7 +109,7 @@
if ( bNull && fVal != 0.0 )
{
bNull = FALSE;
-@@ -3117,12 +3099,15 @@ double ScInterpreter::IterateParameters(
+@@ -3122,12 +3104,15 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
else
fRes += fVal;
break;
@@ -117,10 +129,11 @@
case svSingleRef :
{
PopSingleRef( aAdr );
-diff -urp --exclude=CVS --exclude=unxlngi6.pro --exclude=sc.vpj sc.clean/source/core/tool/interpr4.cxx sc/source/core/tool/interpr4.cxx
---- sc.clean/source/core/tool/interpr4.cxx 2008-04-01 12:26:37.000000000 -0400
-+++ sc/source/core/tool/interpr4.cxx 2008-04-21 11:26:59.000000000 -0400
-@@ -203,18 +203,19 @@ double ScInterpreter::GetValueCellValue(
+diff --git sc/source/core/tool/interpr4.cxx sc/source/core/tool/interpr4.cxx
+index fdd78da..e997cc3 100644
+--- sc/source/core/tool/interpr4.cxx
++++ sc/source/core/tool/interpr4.cxx
+@@ -199,18 +199,26 @@ double ScInterpreter::GetValueCellValue( const ScAddress& rPos, const ScValueCel
}
@@ -133,8 +146,15 @@
- double nVal = GetCellValueOrZero( rPos, pCell );
- if ( !nGlobalError || nGlobalError == errCellNoValue )
+ double nVal = GetCellValueOrZero( rPos, pCell, bBlankAsZero );
-+ if ( !nGlobalError || (!bNoValueAsError && nGlobalError == errCellNoValue) )
++ if (!nGlobalError)
++ // no global error. good.
nGlobalError = nErr;
++ else if (nGlobalError == errCellNoValue)
++ // Internal cell-no-value error. If the caller wants to treat no
++ // value as error, then we need to translate this to a legitimate
++ // error number (#VALUE!). If not, we should re-assign the prior error
++ // number.
++ nGlobalError = bNoValueAsError ? errNoValue : nErr;
return nVal;
}
@@ -144,7 +164,7 @@
{
double fValue;
if (pCell)
-@@ -258,7 +259,7 @@ double ScInterpreter::GetCellValueOrZero
+@@ -254,7 +262,7 @@ double ScInterpreter::GetCellValueOrZero( const ScAddress& rPos, const ScBaseCel
break;
case CELLTYPE_STRING:
case CELLTYPE_EDIT:
@@ -153,7 +173,7 @@
// Xcl does it, but SUM(A1:A2) differs from A1+A2. No good.
{
String aStr;
-@@ -269,14 +270,15 @@ double ScInterpreter::GetCellValueOrZero
+@@ -265,14 +273,15 @@ double ScInterpreter::GetCellValueOrZero( const ScAddress& rPos, const ScBaseCel
sal_uInt32 nFIndex = 0; // damit default Land/Spr.
if ( !pFormatter->IsNumberFormat( aStr, nFIndex, fValue ) )
{
@@ -171,7 +191,7 @@
fValue = 0.0;
}
}
-@@ -1565,7 +1567,7 @@ BOOL ScInterpreter::DoubleRefToPosSingle
+@@ -1561,7 +1570,7 @@ BOOL ScInterpreter::DoubleRefToPosSingleRef( const ScRange& rRange, ScAddress& r
}
@@ -180,7 +200,7 @@
{
double nVal;
switch( GetRawStackType() )
-@@ -1589,7 +1591,7 @@ double ScInterpreter::GetDouble()
+@@ -1585,7 +1594,7 @@ double ScInterpreter::GetDouble()
ScAddress aAdr;
PopSingleRef( aAdr );
ScBaseCell* pCell = GetCell( aAdr );
@@ -189,10 +209,11 @@
}
break;
case svDoubleRef:
-diff -urp --exclude=CVS --exclude=unxlngi6.pro --exclude=sc.vpj sc.clean/source/core/tool/interpr5.cxx sc/source/core/tool/interpr5.cxx
---- sc.clean/source/core/tool/interpr5.cxx 2008-04-01 12:26:37.000000000 -0400
-+++ sc/source/core/tool/interpr5.cxx 2008-04-21 11:34:12.000000000 -0400
-@@ -1291,7 +1291,12 @@ void ScInterpreter::ScAdd()
+diff --git sc/source/core/tool/interpr5.cxx sc/source/core/tool/interpr5.cxx
+index 8b4eeac..bc91cca 100644
+--- sc/source/core/tool/interpr5.cxx
++++ sc/source/core/tool/interpr5.cxx
+@@ -1297,7 +1297,12 @@ void ScInterpreter::ScAdd()
pMat2 = GetMatrix();
else
{
@@ -206,7 +227,7 @@
switch ( nCurFmtType )
{
case NUMBERFORMAT_DATE :
-@@ -1312,7 +1317,12 @@ void ScInterpreter::ScAdd()
+@@ -1318,7 +1323,12 @@ void ScInterpreter::ScAdd()
pMat1 = GetMatrix();
else
{
@@ -220,7 +241,7 @@
switch ( nCurFmtType )
{
case NUMBERFORMAT_DATE :
-@@ -1486,7 +1496,12 @@ void ScInterpreter::ScSub()
+@@ -1492,7 +1502,12 @@ void ScInterpreter::ScSub()
pMat2 = GetMatrix();
else
{
@@ -234,7 +255,7 @@
switch ( nCurFmtType )
{
case NUMBERFORMAT_DATE :
-@@ -1507,7 +1521,12 @@ void ScInterpreter::ScSub()
+@@ -1513,7 +1528,12 @@ void ScInterpreter::ScSub()
pMat1 = GetMatrix();
else
{
@@ -248,7 +269,7 @@
switch ( nCurFmtType )
{
case NUMBERFORMAT_DATE :
-@@ -1601,7 +1620,12 @@ void ScInterpreter::ScMul()
+@@ -1607,7 +1627,12 @@ void ScInterpreter::ScMul()
pMat2 = GetMatrix();
else
{
@@ -262,7 +283,7 @@
switch ( nCurFmtType )
{
case NUMBERFORMAT_CURRENCY :
-@@ -1614,7 +1638,12 @@ void ScInterpreter::ScMul()
+@@ -1620,7 +1645,12 @@ void ScInterpreter::ScMul()
pMat1 = GetMatrix();
else
{
@@ -276,7 +297,7 @@
switch ( nCurFmtType )
{
case NUMBERFORMAT_CURRENCY :
-@@ -1679,7 +1708,12 @@ void ScInterpreter::ScDiv()
+@@ -1685,7 +1715,12 @@ void ScInterpreter::ScDiv()
pMat2 = GetMatrix();
else
{
@@ -290,7 +311,7 @@
// hier kein Currency uebernehmen, 123kg/456DM sind nicht DM
nFmtCurrencyType2 = nCurFmtType;
}
-@@ -1687,7 +1721,12 @@ void ScInterpreter::ScDiv()
+@@ -1693,7 +1728,12 @@ void ScInterpreter::ScDiv()
pMat1 = GetMatrix();
else
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]