summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2012-10-30 20:50:31 -0400
committerPetr Mladek <pmladek@suse.cz>2012-11-05 17:52:21 +0100
commit896d681452e29417844257c8043d57ab0ba29fab (patch)
tree6f0def8fcf5dca09d308d1e7ccc335297c9f7903 /sc/source
parent79c5b880e17a134d7ed77b567222da09adbc1a0d (diff)
fdo#56325: Don't forget to build_tree() in fillTable().
Else you'll get the wrong answer in isRowActive(), which always search flag via tree. Change-Id: I3fa92d06f7ba3040eca061d5424afefe362703de Signed-off-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/core/data/dpcachetable.cxx16
1 files changed, 10 insertions, 6 deletions
diff --git a/sc/source/core/data/dpcachetable.cxx b/sc/source/core/data/dpcachetable.cxx
index 14f4e8e2e48e..1518955ad539 100644
--- a/sc/source/core/data/dpcachetable.cxx
+++ b/sc/source/core/data/dpcachetable.cxx
@@ -143,6 +143,7 @@ void ScDPCacheTable::fillTable(
maShowByFilter.clear();
maShowByPage.clear();
+ maShowByPage.build_tree();
// Process the non-empty data rows.
for (SCROW nRow = 0; nRow < nDataSize; ++nRow)
@@ -211,15 +212,18 @@ void ScDPCacheTable::fillTable()
{
SCROW nRowCount = getRowSize();
SCCOL nColCount = getColSize();
- if (nRowCount <= 0 || nColCount <= 0)
+ if (nRowCount <= 0 || nColCount <= 0)
return;
- maShowByFilter.clear();
- maShowByPage.clear();
- maShowByFilter.insert_front(0, nRowCount, true);
+ maShowByPage.clear();
+ maShowByPage.build_tree();
- // Initialize field entries container.
- maFieldEntries.clear();
+ maShowByFilter.clear();
+ maShowByFilter.insert_front(0, nRowCount, true);
+ maShowByFilter.build_tree();
+
+ // Initialize field entries container.
+ maFieldEntries.clear();
maFieldEntries.reserve(nColCount);
// Data rows