summaryrefslogtreecommitdiffstats
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:43:59 -0500
commit28b7359e00fec9fd3bfab3c9105cf250c4320a24 (patch)
tree68023b08d14124bb356dc7ffe7c8bf9e1d715444
parentvcl before xo (diff)
downloadcore-28b7359e00fec9fd3bfab3c9105cf250c4320a24.tar.gz
core-28b7359e00fec9fd3bfab3c9105cf250c4320a24.zip
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
-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 3ace8574ccaa..5840837c2161 100644
--- a/sc/source/ui/unoobj/chart2uno.cxx
+++ b/sc/source/ui/unoobj/chart2uno.cxx
@@ -295,13 +295,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)
@@ -319,7 +320,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 )