ooo-build r15163 - in trunk: . patches/dev300



Author: kyoshida
Date: Tue Jan 27 06:32:01 2009
New Revision: 15163
URL: http://svn.gnome.org/viewvc/ooo-build?rev=15163&view=rev

Log:
2009-01-27  Kohei Yoshida  <kyoshida novell com>

	* patches/dev300/sc-string-arg-m38.diff:
	* patches/dev300/sc-string-arg.diff:
	* patches/dev300/apply: adjusted for dev300-m39.



Added:
   trunk/patches/dev300/sc-string-arg-m38.diff
      - copied unchanged from r15157, /trunk/patches/dev300/sc-string-arg.diff
Modified:
   trunk/ChangeLog
   trunk/patches/dev300/apply
   trunk/patches/dev300/sc-string-arg.diff

Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply	(original)
+++ trunk/patches/dev300/apply	Tue Jan 27 06:32:01 2009
@@ -779,9 +779,15 @@
 
 sc-dp-gridlayout.diff, i#68544 n#190970, jody
 
+[ CalcFixes <= dev300-m38 ]
+# Excel compatibility for handling of "string numbers".
+sc-string-arg-m38.diff, i#5658, kohei
+
+[ CalcFixes > dev300-m38 ]
 # Excel compatibility for handling of "string numbers".
 sc-string-arg.diff, i#5658, kohei
 
+[ CalcFixes ]
 # Fix for the above string number patch, for cases where a formula cell is
 # being referenced by the origin cell.
 sc-string-arg-ref-formula-cell.diff, n#391330, kohei

Modified: trunk/patches/dev300/sc-string-arg.diff
==============================================================================
--- trunk/patches/dev300/sc-string-arg.diff	(original)
+++ trunk/patches/dev300/sc-string-arg.diff	Tue Jan 27 06:32:01 2009
@@ -1,8 +1,8 @@
 diff --git sc/source/core/inc/interpre.hxx sc/source/core/inc/interpre.hxx
-index 474d2aa..2dc537f 100644
+index b9b91a8..681766d 100644
 --- sc/source/core/inc/interpre.hxx
 +++ sc/source/core/inc/interpre.hxx
-@@ -174,8 +174,18 @@ void ReplaceCell( ScAddress& );     // for TableOp
+@@ -178,8 +178,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* );
@@ -23,7 +23,7 @@
  double GetValueCellValue( const ScAddress&, const ScValueCell* );
  ScBaseCell* GetCell( const ScAddress& rPos )
      { return pDok->GetCell( rPos ); }
-@@ -314,7 +324,7 @@ StackVar GetStackType( BYTE nParam );
+@@ -318,7 +328,7 @@ formula::StackVar GetStackType( BYTE nParam );
  BYTE GetByte() { return cPar; }
  // generiert aus DoubleRef positionsabhaengige SingleRef
  BOOL DoubleRefToPosSingleRef( const ScRange& rRange, ScAddress& rAdr );
@@ -33,10 +33,10 @@
  BOOL IsMissing();
  BOOL GetBool() { return GetDouble() != 0.0; }
 diff --git sc/source/core/tool/interpr1.cxx sc/source/core/tool/interpr1.cxx
-index 722ca4b..a91fc44 100644
+index 5a6eb67..7e5a478 100644
 --- sc/source/core/tool/interpr1.cxx
 +++ sc/source/core/tool/interpr1.cxx
-@@ -3064,12 +3064,13 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
+@@ -3189,12 +3189,13 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
          nGlobalError = 0;
      while (nParamCount-- > 0)
      {
@@ -53,7 +53,7 @@
                  {
                      String aStr( PopString() );
                      sal_uInt32 nFIndex = 0;                 // damit default Land/Spr.
-@@ -3078,42 +3079,23 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
+@@ -3203,42 +3204,23 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
                  }
                  else
                  {
@@ -109,7 +109,7 @@
                          if ( bNull && fVal != 0.0 )
                          {
                              bNull = FALSE;
-@@ -3122,12 +3104,15 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
+@@ -3247,12 +3229,15 @@ double ScInterpreter::IterateParameters( ScIterFunc eFunc, BOOL bTextAsZero )
                          else
                              fRes += fVal;
                          break;
@@ -130,10 +130,10 @@
              {
                  PopSingleRef( aAdr );
 diff --git sc/source/core/tool/interpr4.cxx sc/source/core/tool/interpr4.cxx
-index fdd78da..e997cc3 100644
+index cd2fccc..ef0d533 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
+@@ -207,19 +207,27 @@ double ScInterpreter::GetValueCellValue( const ScAddress& rPos, const ScValueCel
  }
  
  
@@ -141,6 +141,7 @@
 +double ScInterpreter::GetCellValue( const ScAddress& rPos, const ScBaseCell* pCell, 
 +                                    bool bNoValueAsError, bool bBlankAsZero )
  {
+     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "Eike Rathke sun com", "ScInterpreter::GetCellValue" );
      USHORT nErr = nGlobalError;
      nGlobalError = 0;
 -    double nVal = GetCellValueOrZero( rPos, pCell );
@@ -162,9 +163,9 @@
 -double ScInterpreter::GetCellValueOrZero( const ScAddress& rPos, const ScBaseCell* pCell )
 +double ScInterpreter::GetCellValueOrZero( const ScAddress& rPos, const ScBaseCell* pCell, bool bBlankAsZero )
  {
+     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "Eike Rathke sun com", "ScInterpreter::GetCellValueOrZero" );
      double fValue;
-     if (pCell)
-@@ -254,7 +262,7 @@ double ScInterpreter::GetCellValueOrZero( const ScAddress& rPos, const ScBaseCel
+@@ -264,7 +272,7 @@ double ScInterpreter::GetCellValueOrZero( const ScAddress& rPos, const ScBaseCel
              break;
              case  CELLTYPE_STRING:
              case  CELLTYPE_EDIT:
@@ -173,7 +174,7 @@
  // Xcl does it, but SUM(A1:A2) differs from A1+A2. No good.
              {
                  String aStr;
-@@ -265,14 +273,15 @@ double ScInterpreter::GetCellValueOrZero( const ScAddress& rPos, const ScBaseCel
+@@ -275,14 +283,15 @@ double ScInterpreter::GetCellValueOrZero( const ScAddress& rPos, const ScBaseCel
                  sal_uInt32 nFIndex = 0;                 // damit default Land/Spr.
                  if ( !pFormatter->IsNumberFormat( aStr, nFIndex, fValue ) )
                  {
@@ -191,16 +192,16 @@
                  fValue = 0.0;
          }
      }
-@@ -1561,7 +1570,7 @@ BOOL ScInterpreter::DoubleRefToPosSingleRef( const ScRange& rRange, ScAddress& r
+@@ -1621,7 +1630,7 @@ BOOL ScInterpreter::DoubleRefToPosSingleRef( const ScRange& rRange, ScAddress& r
  }
  
  
 -double ScInterpreter::GetDouble()
 +double ScInterpreter::GetDouble( bool bNoValueAsError, bool bBlankAsZero )
  {
+     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "Eike Rathke sun com", "ScInterpreter::GetDouble" );
      double nVal;
-     switch( GetRawStackType() )
-@@ -1585,7 +1594,7 @@ double ScInterpreter::GetDouble()
+@@ -1646,7 +1655,7 @@ double ScInterpreter::GetDouble()
              ScAddress aAdr;
              PopSingleRef( aAdr );
              ScBaseCell* pCell = GetCell( aAdr );
@@ -210,10 +211,10 @@
          break;
          case svDoubleRef:
 diff --git sc/source/core/tool/interpr5.cxx sc/source/core/tool/interpr5.cxx
-index 8b4eeac..bc91cca 100644
+index 5b05f0c..c5b4770 100644
 --- sc/source/core/tool/interpr5.cxx
 +++ sc/source/core/tool/interpr5.cxx
-@@ -1297,7 +1297,12 @@ void ScInterpreter::ScAdd()
+@@ -1184,7 +1184,12 @@ void ScInterpreter::CalculateAddSub(BOOL _bSub)
          pMat2 = GetMatrix();
      else
      {
@@ -227,7 +228,7 @@
          switch ( nCurFmtType )
          {
              case NUMBERFORMAT_DATE :
-@@ -1318,7 +1323,12 @@ void ScInterpreter::ScAdd()
+@@ -1205,7 +1210,12 @@ void ScInterpreter::CalculateAddSub(BOOL _bSub)
          pMat1 = GetMatrix();
      else
      {
@@ -241,35 +242,7 @@
          switch ( nCurFmtType )
          {
              case NUMBERFORMAT_DATE :
-@@ -1492,7 +1502,12 @@ void ScInterpreter::ScSub()
-         pMat2 = GetMatrix();
-     else
-     {
--        fVal2 = GetDouble();
-+        fVal2 = GetDouble(true, true);
-+        if (nGlobalError)
-+        {
-+            PushError(nGlobalError);
-+            return;
-+        }
-         switch ( nCurFmtType )
-         {
-             case NUMBERFORMAT_DATE :
-@@ -1513,7 +1528,12 @@ void ScInterpreter::ScSub()
-         pMat1 = GetMatrix();
-     else
-     {
--        fVal1 = GetDouble();
-+        fVal1 = GetDouble(true, true);
-+        if (nGlobalError)
-+        {
-+            PushError(nGlobalError);
-+            return;
-+        }
-         switch ( nCurFmtType )
-         {
-             case NUMBERFORMAT_DATE :
-@@ -1607,7 +1627,12 @@ void ScInterpreter::ScMul()
+@@ -1414,7 +1424,12 @@ void ScInterpreter::ScMul()
          pMat2 = GetMatrix();
      else
      {
@@ -283,7 +256,7 @@
          switch ( nCurFmtType )
          {
              case NUMBERFORMAT_CURRENCY :
-@@ -1620,7 +1645,12 @@ void ScInterpreter::ScMul()
+@@ -1427,7 +1442,12 @@ void ScInterpreter::ScMul()
          pMat1 = GetMatrix();
      else
      {
@@ -297,7 +270,7 @@
          switch ( nCurFmtType )
          {
              case NUMBERFORMAT_CURRENCY :
-@@ -1685,7 +1715,12 @@ void ScInterpreter::ScDiv()
+@@ -1494,7 +1514,12 @@ void ScInterpreter::ScDiv()
          pMat2 = GetMatrix();
      else
      {
@@ -311,7 +284,7 @@
          // hier kein Currency uebernehmen, 123kg/456DM sind nicht DM
          nFmtCurrencyType2 = nCurFmtType;
      }
-@@ -1693,7 +1728,12 @@ void ScInterpreter::ScDiv()
+@@ -1502,7 +1527,12 @@ void ScInterpreter::ScDiv()
          pMat1 = GetMatrix();
      else
      {



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