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

Kohei Yoshida kohei at kemper.freedesktop.org
Mon Aug 16 17:46:44 PDT 2010


 patches/dev300/apply                              |    8 +-
 patches/dev300/calc-subtotal-function-update.diff |   61 ++++++++--------------
 2 files changed, 28 insertions(+), 41 deletions(-)

New commits:
commit b3049b1a48ccf3eac78187f7b8e71a4c823de6ef
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Mon Aug 16 20:45:01 2010 -0400

    Adjusted a patch for the latest baseline.
    
    Better late than never.  I somehow thought this patch was for something
    else that was already fixed upstream.  Turns out we still need this
    fix.
    
    * patches/dev300/apply:
    * patches/dev300/calc-subtotal-function-update.diff:

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 306c232..9a15799 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3409,9 +3409,6 @@ calc-perf-xls-import-cellstyles-fix2.diff, n#594235, kohei
 # Adjust the size of the broadcast slot machine to match the new row limit.
 calc-perf-adjust-slot-machine.diff, n#588554, kohei
 
-# Keep track of cells with SUBTOTAL functions the right way.
-# FIXME dev300-m77 calc-subtotal-function-update.diff, n#578802, kohei - I believe upstream has a different fix for 3.3.
-
 [ CalcFixes ]
 
 # Check for separator options' potential conflict with custom locale setting.
@@ -3492,6 +3489,9 @@ calc-dp-sort-fix.diff, n#629920, kohei
 calc-extref-interpreter-rework-formula.diff, n#628876, kohei
 calc-extref-interpreter-rework-sc.diff,      n#628876, kohei
 
+# Keep track of cells with SUBTOTAL functions the right way.
+calc-subtotal-function-update.diff, n#578802, kohei
+
 [ GentooExperimental ]
 SectionOwner => hmth
 # jemalloc allocator
@@ -3543,7 +3543,7 @@ transogl-crossplatform.diff, ericb
 [ Features ]
 # embed generic media files inside odf docs, plus various related
 # sound fixes from rodo
-impressmedia-features.diff, i#83753, n#515553, thorsten
+#impressmedia-features.diff, i#83753, n#515553, thorsten
 slideshow-sound.diff, n#515553, rodo
 
 [ Fixes ]
diff --git a/patches/dev300/calc-subtotal-function-update.diff b/patches/dev300/calc-subtotal-function-update.diff
index 19d9612..aa2e6d7 100644
--- a/patches/dev300/calc-subtotal-function-update.diff
+++ b/patches/dev300/calc-subtotal-function-update.diff
@@ -1,33 +1,20 @@
-From 0c4144946c2c1ee7ea833a4cb3baf33793255d9d Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:07:54 +0200
-Subject: [PATCH 691/768] calc-subtotal-function-update.diff
-
----
- sc/inc/document.hxx                |    7 +++++
- sc/source/core/data/cell.cxx       |   16 ++++++++++++
- sc/source/core/data/document.cxx   |   48 ++++++++++++++++++++++++++++++++++++
- sc/source/ui/docshell/dbdocfun.cxx |    7 ++---
- 4 files changed, 74 insertions(+), 4 deletions(-)
-
 diff --git sc/inc/document.hxx sc/inc/document.hxx
-index 65c695b..185c2b7 100644
+index 2b5dc0f..603a005 100644
 --- sc/inc/document.hxx
 +++ sc/inc/document.hxx
-@@ -438,6 +438,8 @@ private:
- 
-     sal_Int16           mnNamedRangesLockCount;
+@@ -449,6 +449,8 @@ private:
+ 	// for worksheet calculate event
+ 	::std::vector< SCTAB > maTabs;
  
 +    ::std::set<ScFormulaCell*> maSubTotalCells;
-+
++    
  public:
      SC_DLLPUBLIC ULONG			GetCellCount() const;		// alle Zellen
      SCSIZE          GetCellCount(SCTAB nTab, SCCOL nCol) const;
-@@ -1809,6 +1811,11 @@ public:
-                             { return eStorageGrammar; }
+@@ -1829,6 +1831,10 @@ public:
+     bool IsInVBAMode() const;
+     ScRowBreakIterator* GetRowBreakIterator(SCTAB nTab) const;
  
-     SfxUndoManager*     GetUndoManager();
-+
 +    void AddSubTotalCell(ScFormulaCell* pCell);
 +    void RemoveSubTotalCell(ScFormulaCell* pCell);
 +    void SetSubTotalCellsDirty(const ScRange& rDirtyRange);
@@ -36,10 +23,10 @@ index 65c695b..185c2b7 100644
  
      /** 
 diff --git sc/source/core/data/cell.cxx sc/source/core/data/cell.cxx
-index d73bc1f..e999050 100644
+index 8104d0a..88ccbfe 100644
 --- sc/source/core/data/cell.cxx
 +++ sc/source/core/data/cell.cxx
-@@ -724,6 +724,9 @@ ScFormulaCell::ScFormulaCell( ScDocument* pDoc, const ScAddress& rPos,
+@@ -725,6 +725,9 @@ ScFormulaCell::ScFormulaCell( ScDocument* pDoc, const ScAddress& rPos,
          if ( pCode->GetNextOpCodeRPN( ocSubTotal ) )
              bSubTotal = TRUE;
      }
@@ -49,23 +36,25 @@ index d73bc1f..e999050 100644
  }
  
  ScFormulaCell::ScFormulaCell( const ScFormulaCell& rCell, ScDocument& rDoc, const ScAddress& rPos, int nCloneFlags ) :
-@@ -814,11 +817,15 @@ ScFormulaCell::ScFormulaCell( const ScFormulaCell& rCell, ScDocument& rDoc, cons
+@@ -815,11 +818,17 @@ ScFormulaCell::ScFormulaCell( const ScFormulaCell& rCell, ScDocument& rDoc, cons
  
      if( nCloneFlags & SC_CLONECELL_STARTLISTENING )
          StartListeningTo( &rDoc );
 +
 +    if (bSubTotal)
 +        pDocument->AddSubTotalCell(this);
++
  }
  
  ScFormulaCell::~ScFormulaCell()
  {
      pDocument->RemoveFromFormulaTree( this );
 +    pDocument->RemoveSubTotalCell(this);
++
+     if (pCode->HasOpCode(ocMacro))
+         pDocument->GetMacroManager()->RemoveDependentCell(this);
  
-     if (pDocument->HasExternalRefManager())
-         pDocument->GetExternalRefManager()->removeRefCell(this);
-@@ -985,6 +992,9 @@ void ScFormulaCell::CompileTokenArray( BOOL bNoListening )
+@@ -987,6 +996,9 @@ void ScFormulaCell::CompileTokenArray( BOOL bNoListening )
          }
          if ( bWasInFormulaTree )
              pDocument->PutInFormulaTree( this );
@@ -75,7 +64,7 @@ index d73bc1f..e999050 100644
      }
  }
  
-@@ -1028,6 +1038,9 @@ void ScFormulaCell::CompileXML( ScProgress& rProgress )
+@@ -1030,6 +1042,9 @@ void ScFormulaCell::CompileXML( ScProgress& rProgress )
              bCompile = FALSE;
              StartListeningTo( pDocument );
          }
@@ -85,7 +74,7 @@ index d73bc1f..e999050 100644
      }
      else
      {
-@@ -1067,6 +1080,9 @@ void ScFormulaCell::CalcAfterLoad()
+@@ -1069,6 +1084,9 @@ void ScFormulaCell::CalcAfterLoad()
          bDirty = TRUE;
          bCompile = FALSE;
          bNewCompiled = TRUE;
@@ -96,11 +85,11 @@ index d73bc1f..e999050 100644
      // irgendwie koennen unter os/2 mit rotter FPU-Exception /0 ohne Err503
      // gespeichert werden, woraufhin spaeter im NumberFormatter die BLC Lib
 diff --git sc/source/core/data/document.cxx sc/source/core/data/document.cxx
-index 2d08aa8..332d25c 100644
+index ea615c5..f3106cd 100644
 --- sc/source/core/data/document.cxx
 +++ sc/source/core/data/document.cxx
-@@ -5251,6 +5251,54 @@ SfxUndoManager* ScDocument::GetUndoManager()
-     return mpUndoManager;
+@@ -5270,6 +5270,55 @@ ScRowBreakIterator* ScDocument::GetRowBreakIterator(SCTAB nTab) const
+     return NULL;
  }
  
 +void ScDocument::AddSubTotalCell(ScFormulaCell* pCell)
@@ -151,11 +140,12 @@ index 2d08aa8..332d25c 100644
 +    SetAutoCalc(bOldRecalc);
 +    maSubTotalCells.swap(aNewSet); // update the list.
 +}
- 
++
  void ScDocument::EnableUndo( bool bVal )
  {
+     GetUndoManager()->EnableUndo(bVal);
 diff --git sc/source/ui/docshell/dbdocfun.cxx sc/source/ui/docshell/dbdocfun.cxx
-index 7e48ad5..49ae273 100644
+index 318ee76..5917798 100644
 --- sc/source/ui/docshell/dbdocfun.cxx
 +++ sc/source/ui/docshell/dbdocfun.cxx
 @@ -942,10 +942,9 @@ BOOL ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam,
@@ -172,6 +162,3 @@ index 7e48ad5..49ae273 100644
  
      if ( bRecord )
      {
--- 
-1.7.0.1
-


More information about the ooo-build-commit mailing list