sc/source/core/data/column2.cxx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
New commits: commit fe1792bd24b45f6b2e5dc21cbf2a8744f8c42f17 Author: Eike Rathke <er...@redhat.com> Date: Sat Aug 15 00:47:03 2015 +0200 Resolves: tdf#93358 resync attribute pattern that may have changed Change-Id: If3ce8feec940c7212fe467f39db868630522b17e (cherry picked from commit f089de7dc5c367a3123129b08a9050b3bacc4eba) Reviewed-on: https://gerrit.libreoffice.org/17766 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx index 6f764c7..93f61a6 100644 --- a/sc/source/core/data/column2.cxx +++ b/sc/source/core/data/column2.cxx @@ -823,7 +823,18 @@ void ScColumn::GetOptimalHeight( } if (bStdOnly) - if (HasEditCells(nStart,nEnd,nEditPos)) // includes mixed script types + { + bool bHasEditCells = HasEditCells(nStart,nEnd,nEditPos); + // Call to HasEditCells() may change pattern due to + // calculation, => sync always. + // We don't know which row changed first, but as pPattern + // covered nStart to nEnd we can pick nStart. Worst case we + // have to repeat that for every row in range if every row + // changed. + pPattern = aIter.Resync( nStart, nStart, nEnd); + if (bHasEditCells && nEnd < nEditPos) + bHasEditCells = false; // run into that again + if (bHasEditCells) // includes mixed script types { if (nEditPos == nStart) { @@ -839,6 +850,7 @@ void ScColumn::GetOptimalHeight( nEnd = nEditPos - 1; // standard - part } } + } sc::SingleColumnSpanSet aSpanSet; aSpanSet.scan(*this, nStart, nEnd);
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits