[Libreoffice-commits] core.git: sc/source
Kohei Yoshida
kohei.yoshida at collabora.com
Fri Jan 31 15:02:04 PST 2014
sc/source/core/data/table4.cxx | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
New commits:
commit a995462e6855061816c6529c366f20ace2b45868
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Fri Jan 31 18:05:05 2014 -0500
Take advantage of segment-based hidden flag storage.
To avoid querying this states for every single column and row.
Change-Id: I3e570ae5309c826e809c170ea4635dd37c9b0d43
diff --git a/sc/source/core/data/table4.cxx b/sc/source/core/data/table4.cxx
index c0a3005..09f9c78 100644
--- a/sc/source/core/data/table4.cxx
+++ b/sc/source/core/data/table4.cxx
@@ -1270,10 +1270,19 @@ void ScTable::FillAutoSimple(
CellType eCellType = CELLTYPE_NONE;
bool bIsOrdinalSuffix = false;
+ bool bColHidden = false, bRowHidden = false;
+ SCCOL nColHiddenLast = -1;
+ SCROW nRowHiddenLast = -1;
+
rInner = nIStart;
while (true) // #i53728# with "for (;;)" old solaris/x86 compiler mis-optimizes
{
- if(!ColHidden(rCol) && !RowHidden(rRow))
+ if (rCol > nColHiddenLast)
+ bColHidden = ColHidden(rCol, NULL, &nColHiddenLast);
+ if (rRow > nRowHiddenLast)
+ bRowHidden = RowHidden(rRow, NULL, &nRowHiddenLast);
+
+ if (!bColHidden && !bRowHidden)
{
if ( bGetCell )
{
More information about the Libreoffice-commits
mailing list