we seem to need three extra rows in ScTableInfo
or we get lots of
OSL_FAIL("FillInfo: Range too big" );
from initRowInfo()
regression from
commit a86c00414a43c5d87981ffae1018cb242c5e5e1d
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Fri Jan 19 14:27:10 2024 +0200
cool#6893 reduce allocation in ScGridWindow::PaintTile
Change-Id: I44a925ffab756e52c49280b864a3d4190e9e9b49
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162431
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 3e865d91e1bb4396957b5feee3c4475838c70e8b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162389
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index 31e7e10..1f97801 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -1072,16 +1072,16 @@ void ScDocument::FillInfo(
rArray.MirrorSelfX();
}
/// We seem to need to allocate two extra rows here, not sure why
/// We seem to need to allocate three extra rows here, not sure why
///
ScTableInfo::ScTableInfo(SCROW nStartRow, SCROW nEndRow)
: mnArrCount(0)
, mnArrCapacity(nEndRow - nStartRow + 3)
, mnArrCapacity(nEndRow - nStartRow + 4)
, mbPageMode(false)
{
assert(nStartRow >= 0);
assert(nEndRow >= nStartRow);
mpRowInfo.reset(new RowInfo[nEndRow - nStartRow + 3] {});
mpRowInfo.reset(new RowInfo[nEndRow - nStartRow + 4] {});
}
ScTableInfo::~ScTableInfo()