summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/data/dpcache.cxx22
1 files changed, 21 insertions, 1 deletions
diff --git a/sc/source/core/data/dpcache.cxx b/sc/source/core/data/dpcache.cxx
index 9163dde2f934..d04adf15d94f 100644
--- a/sc/source/core/data/dpcache.cxx
+++ b/sc/source/core/data/dpcache.cxx
@@ -412,7 +412,7 @@ bool ScDPCache::InitFromDoc(ScDocument* pDoc, const ScRange& rRange)
if (!aData.IsEmpty())
{
- maEmptyRows.insert_back(nRow, nRow+1, false);
+ maEmptyRows.insert_back(i, i+1, false);
rField.mnNumFormat = nNumFormat;
}
}
@@ -1212,6 +1212,26 @@ void ScDPCache::Dump() const
}
{
+ struct { SCROW start; SCROW end; bool empty; } aRange;
+ cout << "* empty rows: " << endl;
+ mdds::flat_segment_tree<SCROW, bool>::const_iterator it = maEmptyRows.begin(), itEnd = maEmptyRows.end();
+ if (it != itEnd)
+ {
+ aRange.start = it->first;
+ aRange.empty = it->second;
+ ++it;
+ }
+
+ for (; it != itEnd; ++it)
+ {
+ aRange.end = it->first-1;
+ cout << " rows " << aRange.start << "-" << aRange.end << ": " << (aRange.empty ? "empty" : "not-empty") << endl;
+ aRange.start = it->first;
+ aRange.empty = it->second;
+ }
+ }
+
+ {
GroupFieldsType::const_iterator it = maGroupFields.begin(), itEnd = maGroupFields.end();
for (size_t i = maFields.size(); it != itEnd; ++it, ++i)
{