summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-02-01 18:38:05 -0500
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-02-01 18:45:03 -0500
commit26d9f647258474b933f7a2c2fdf56af90749144a (patch)
tree68a0ee073cc181cf0ded3c219d11bedcbc32af18 /sc
parent2a5f20470513da71adb9ba8d1fae5bee777d7389 (diff)
bnc#801152: Scan all columns to determine the first data row.
When scanning the entire data range in an attempt to determine where the first data row is, we shouldn't stop at the first column. We should scan all data columns to make sure we pick the lowest value row position among all columns. Change-Id: I693ec169857b181c6b4237efcba3fa6a46eaa531
Diffstat (limited to 'sc')
-rw-r--r--sc/source/ui/unoobj/chart2uno.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx
index 7bf45e1b2992..fdd3a2c801b0 100644
--- a/sc/source/ui/unoobj/chart2uno.cxx
+++ b/sc/source/ui/unoobj/chart2uno.cxx
@@ -302,13 +302,14 @@ Chart2PositionMap::Chart2PositionMap(SCCOL nAllColCount, SCROW nAllRowCount,
bool bFoundValues = false;
bool bFoundAnything = false;
FormulaTokenMapMap::const_iterator it1 = rCols.begin();
- for (SCCOL nCol = 0; !bFoundValues && nCol < nAllColCount; ++nCol)
+ for (SCCOL nCol = 0; nCol < nAllColCount; ++nCol)
{
if (it1 != rCols.end() && nCol>=nHeaderColCount)
{
+ bool bFoundValuesInRow = false;
FormulaTokenMap* pCol = it1->second;
FormulaTokenMap::const_iterator it2 = pCol->begin();
- for (SCROW nRow = 0; !bFoundValues && nRow < nSmallestValueRowIndex && it2 != pCol->end(); ++nRow)
+ for (SCROW nRow = 0; !bFoundValuesInRow && nRow < nSmallestValueRowIndex && it2 != pCol->end(); ++nRow)
{
FormulaToken* pToken = it2->second;
if (pToken && nRow>=nHeaderRowCount)
@@ -326,7 +327,7 @@ Chart2PositionMap::Chart2PositionMap(SCCOL nAllColCount, SCROW nAllRowCount,
aRange.GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
if (pDoc && pDoc->HasValueData( nCol1, nRow1, nTab1 ))
{
- bFoundValues = bFoundAnything = true;
+ bFoundValuesInRow = bFoundValues = bFoundAnything = true;
nSmallestValueRowIndex = std::min( nSmallestValueRowIndex, nRow );
}
if( !bFoundAnything )