sc/source/core/data/attarray.cxx | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-)
New commits: commit e7a9929f873d6708c9a0c7081b492d8f8d969b8e Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Sat Sep 11 20:39:26 2021 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sun Sep 12 17:29:33 2021 +0200 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.gran...@collabora.co.uk> (cherry picked from commit d8b765e6c45792bff5717cd0e0d9d42311c33461) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121977 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;