diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2012-10-30 20:50:31 -0400 |
---|---|---|
committer | Petr Mladek <pmladek@suse.cz> | 2012-11-05 17:52:21 +0100 |
commit | 896d681452e29417844257c8043d57ab0ba29fab (patch) | |
tree | 6f0def8fcf5dca09d308d1e7ccc335297c9f7903 /sc/source | |
parent | 79c5b880e17a134d7ed77b567222da09adbc1a0d (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.cxx | 16 |
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 |