[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