diff options
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.patch | 88 |
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 |