From 896d681452e29417844257c8043d57ab0ba29fab Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 30 Oct 2012 20:50:31 -0400 Subject: 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 --- sc/source/core/data/dpcachetable.cxx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'sc') 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 -- cgit