summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2021-09-11 20:39:26 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-09-12 17:29:33 +0200
commite7a9929f873d6708c9a0c7081b492d8f8d969b8e (patch)
treece33ce979bda58412e61979c719ba48ef5061a73
parentResolves: tdf#143777 Exclude recipient is always greyed out (diff)
downloadcore-e7a9929f873d6708c9a0c7081b492d8f8d969b8e.tar.gz
core-e7a9929f873d6708c9a0c7081b492d8f8d969b8e.zip
tdf#144085 XUsedAreaCursor broken: the methods don't accept formatted cells as used
This reverts commit 61386aa03cd166473a58dbb4be0dd5e0ce82195c. tdf#79049 speed up OOXML workbook load (3) which caused this problem Change-Id: I19a9cf75e8b2d3b5f87e1bd324c42a1dbae8ee63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121973 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit d8b765e6c45792bff5717cd0e0d9d42311c33461) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121977
-rw-r--r--sc/source/core/data/attarray.cxx12
1 files changed, 4 insertions, 8 deletions
diff --git a/sc/source/core/data/attarray.cxx b/sc/source/core/data/attarray.cxx
index 41fb51471c43..6ef3b426dda8 100644
--- a/sc/source/core/data/attarray.cxx
+++ b/sc/source/core/data/attarray.cxx
@@ -1957,21 +1957,17 @@ bool ScAttrArray::GetLastVisibleAttr( SCROW& rLastRow, SCROW nLastData ) const
Search( nLastData, nPos );
while ( nPos < mvData.size() )
{
- SCROW nAttrStartRow = ( nPos > 0 ) ? ( mvData[nPos-1].nEndRow + 1 ) : 0;
- if ( nAttrStartRow <= nLastData )
- nAttrStartRow = nLastData + 1;
// find range of visually equal formats
SCSIZE nEndPos = nPos;
while ( nEndPos < mvData.size()-1 &&
mvData[nEndPos].pPattern->IsVisibleEqual( *mvData[nEndPos+1].pPattern))
- {
- if ( (mvData[nEndPos].nEndRow + 1 - nAttrStartRow) >= SC_VISATTR_STOP )
- return false; // ignore this range and below
++nEndPos;
- }
+ SCROW nAttrStartRow = ( nPos > 0 ) ? ( mvData[nPos-1].nEndRow + 1 ) : 0;
+ if ( nAttrStartRow <= nLastData )
+ nAttrStartRow = nLastData + 1;
SCROW nAttrSize = mvData[nEndPos].nEndRow + 1 - nAttrStartRow;
if ( nAttrSize >= SC_VISATTR_STOP )
- return false; // ignore this range and below
+ break; // while, ignore this range and below
else if ( mvData[nEndPos].pPattern->IsVisible() )
{
rLastRow = mvData[nEndPos].nEndRow;