diff options
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/data/dpcache.cxx | 22 |
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) { |