summaryrefslogtreecommitdiffstats
path: root/office/go_openoffice/patches/calc-perf-speedup-pagebreak-update.patch
diff options
context:
space:
mode:
Diffstat (limited to 'office/go_openoffice/patches/calc-perf-speedup-pagebreak-update.patch')
-rw-r--r--office/go_openoffice/patches/calc-perf-speedup-pagebreak-update.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/office/go_openoffice/patches/calc-perf-speedup-pagebreak-update.patch b/office/go_openoffice/patches/calc-perf-speedup-pagebreak-update.patch
new file mode 100644
index 0000000000..f97bd3523e
--- /dev/null
+++ b/office/go_openoffice/patches/calc-perf-speedup-pagebreak-update.patch
@@ -0,0 +1,88 @@
+From 7ec7a07f6ef1e4cbc27f51a5b54edf4442125b29 Mon Sep 17 00:00:00 2001
+From: Petr Mladek <pmladek@walk.suse.cz>
+Date: Fri, 18 Jun 2010 17:44:23 +0000
+Subject: Fix calc-perf-speedup-pagebreak-update.diff to apply with patch-2.5.4
+
+* patches/dev300/calc-perf-speedup-pagebreak-update.diff: add context to help
+ patch-2.5.4 to apply the hunks correctly; thanks Sandor Geller <wildy at
+ muhelybt dot hu
+---
+diff --git a/patches/dev300/calc-perf-speedup-pagebreak-update.diff b/patches/dev300/calc-perf-speedup-pagebreak-update.diff
+index ba4b938..0856eae 100644
+--- a/patches/dev300/calc-perf-speedup-pagebreak-update.diff
++++ b/patches/dev300/calc-perf-speedup-pagebreak-update.diff
+@@ -574,7 +574,19 @@ index 789de6d..56c7f49 100644
+ }
+ }
+
+-@@ -2519,7 +2558,7 @@ void ScTable::DBShowRows(SCROW nRow1, SCROW nRow2, BOOL bShow)
++@@ -2516,31 +2516,31 @@ void ScTable::DBShowRows(SCROW nRow1, SC
++ {
++ SCROW nStartRow = nRow1;
++ while (nStartRow <= nRow2)
++ {
++ SCROW nEndRow = -1;
++ bool bWasVis = !RowHidden(nStartRow, nEndRow);
++ if (nEndRow > nRow2)
++ nEndRow = nRow2;
++
++ BOOL bChanged = ( bWasVis != bShow );
++ if ( bChanged )
++ {
+ ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
+ if (pDrawLayer)
+ {
+@@ -583,7 +595,31 @@ index 789de6d..56c7f49 100644
+ if (bShow)
+ pDrawLayer->HeightChanged( nTab, nStartRow, nHeight );
+ else
+-@@ -2569,7 +2608,7 @@ void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, BOOL bShow)
++ pDrawLayer->HeightChanged( nTab, nStartRow, -nHeight );
++ }
++ }
++
++ SetRowHidden(nStartRow, nEndRow, !bShow);
++ SetRowFiltered(nStartRow, nEndRow, !bShow);
++
++ if ( bChanged )
++ {
++ ScChartListenerCollection* pCharts = pDocument->GetChartListenerCollection();
++ if ( pCharts )
++ pCharts->SetRangeDirty(ScRange( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab ));
++@@ -2563,31 +2563,31 @@ void ScTable::ShowRows(SCROW nRow1, SCRO
++ IncRecalcLevel();
++ InitializeNoteCaptions();
++ while (nStartRow <= nRow2)
++ {
++ SCROW nEndRow = -1;
++ bool bWasVis = !RowHidden(nStartRow, nEndRow);
++ if (nEndRow > nRow2)
++ nEndRow = nRow2;
++
++ BOOL bChanged = ( bWasVis != bShow );
++ if ( bChanged )
++ {
+ ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
+ if (pDrawLayer)
+ {
+@@ -592,6 +628,18 @@ index 789de6d..56c7f49 100644
+ if (bShow)
+ pDrawLayer->HeightChanged( nTab, nStartRow, nHeight );
+ else
++ pDrawLayer->HeightChanged( nTab, nStartRow, -nHeight );
++ }
++ }
++
++ SetRowHidden(nStartRow, nEndRow, !bShow);
++ if (bShow)
++ SetRowFiltered(nStartRow, nEndRow, false);
++
++ if ( bChanged )
++ {
++ ScChartListenerCollection* pCharts = pDocument->GetChartListenerCollection();
++ if ( pCharts )
+ @@ -2681,7 +2720,10 @@ SCROW ScTable::GetLastChangedRow() const
+ if (!ValidRow(nLastFlags))
+ nLastFlags = 0;
+--
+cgit v0.8.3-6-g21f6