[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - sc/source

Eike Rathke erack at redhat.com
Mon Aug 17 03:50:54 PDT 2015


 sc/source/core/data/column2.cxx |   14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

New commits:
commit 31050925ad6788c627af23f751bdbf5768cc7afa
Author: Eike Rathke <erack at 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/17765
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index 566c139..bb6a37d 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -824,7 +824,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)
                     {
@@ -840,6 +851,7 @@ void ScColumn::GetOptimalHeight(
                         nEnd = nEditPos - 1;            // standard - part
                     }
                 }
+            }
 
             sc::SingleColumnSpanSet aSpanSet;
             aSpanSet.scan(*this, nStart, nEnd);


More information about the Libreoffice-commits mailing list