summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-04-24 18:51:08 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-04-26 22:05:21 +0200
commit9dac5b11bc9d8b9709611846d6ded07cecacc94c (patch)
treede3dc78620aaa29d61ff0f14aa102f95b7029576 /sc
parent41fa694ed249b778fbafa9c3bf6cbfd53ec6c7cc (diff)
tdf67629 FILEOPEN Particular .xlsx hangs Spreadsheet
Seems like this is a somewhat pathological document, has lots of duplicated ranges. Checking for duplicates makes it load in <10s on my machine Change-Id: I25da24e0f8b1d4ad99d00474be168c75586ea579 Reviewed-on: https://gerrit.libreoffice.org/71251 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit e1ebb5cb58edc325bb30bb5eb992665fb861960f) Reviewed-on: https://gerrit.libreoffice.org/71379
Diffstat (limited to 'sc')
-rw-r--r--sc/source/filter/oox/sheetdatabuffer.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/sc/source/filter/oox/sheetdatabuffer.cxx b/sc/source/filter/oox/sheetdatabuffer.cxx
index ba323332b24d..1c120fe05392 100644
--- a/sc/source/filter/oox/sheetdatabuffer.cxx
+++ b/sc/source/filter/oox/sheetdatabuffer.cxx
@@ -672,6 +672,9 @@ void SheetDataBuffer::setCellFormat( const CellModel& rModel )
* It is sufficient to check if the row range size is one
*/
if (!rRangeList.empty() &&
+ *pLastRange == rModel.maCellAddr)
+ ; // do nothing - this probably bad data
+ else if (!rRangeList.empty() &&
pLastRange->aStart.Tab() == rModel.maCellAddr.Tab() &&
pLastRange->aStart.Row() == pLastRange->aEnd.Row() &&
pLastRange->aStart.Row() == rModel.maCellAddr.Row() &&