summaryrefslogtreecommitdiff
path: root/sc/source/filter/oox/sheetdatabuffer.cxx
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-25 08:09:08 +0200
commite1ebb5cb58edc325bb30bb5eb992665fb861960f (patch)
tree71733bb148959cf5e64f172af4d18520f0c9c23d /sc/source/filter/oox/sheetdatabuffer.cxx
parent0a188feea21176239adafa42118bc095e2d17d45 (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>
Diffstat (limited to 'sc/source/filter/oox/sheetdatabuffer.cxx')
-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 7e7077a1b894..fcc54e1880b1 100644
--- a/sc/source/filter/oox/sheetdatabuffer.cxx
+++ b/sc/source/filter/oox/sheetdatabuffer.cxx
@@ -663,6 +663,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() &&