summaryrefslogtreecommitdiff
path: root/chart2
diff options
context:
space:
mode:
Diffstat (limited to 'chart2')
-rw-r--r--chart2/source/view/charttypes/BarChart.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/chart2/source/view/charttypes/BarChart.cxx b/chart2/source/view/charttypes/BarChart.cxx
index 411fb4ccb2f1..a082d21b121a 100644
--- a/chart2/source/view/charttypes/BarChart.cxx
+++ b/chart2/source/view/charttypes/BarChart.cxx
@@ -468,6 +468,10 @@ void BarChart::createShapes()
if( aLogicYSumMap.find(nAttachedAxisIndex)==aLogicYSumMap.end() )
aLogicYSumMap[nAttachedAxisIndex]=0.0;
+ const sal_Int32 nSlotPoints = aXSlotIter->getPointCount();
+ if( nPointIndex >= nSlotPoints )
+ continue;
+
double fMinimumY = 0.0, fMaximumY = 0.0;
aXSlotIter->calculateYMinAndMaxForCategory( nPointIndex
, isSeparateStackingForDifferentSigns( 1 ), fMinimumY, fMaximumY, nAttachedAxisIndex );
@@ -510,8 +514,9 @@ void BarChart::createShapes()
// get distance from base value to maximum and minimum
double fMinimumY = 0.0, fMaximumY = 0.0;
- aXSlotIter->calculateYMinAndMaxForCategory( nPointIndex
- , isSeparateStackingForDifferentSigns( 1 ), fMinimumY, fMaximumY, nAttachedAxisIndex );
+ if( nPointIndex < aXSlotIter->getPointCount())
+ aXSlotIter->calculateYMinAndMaxForCategory( nPointIndex
+ , isSeparateStackingForDifferentSigns( 1 ), fMinimumY, fMaximumY, nAttachedAxisIndex );
double fLogicPositiveYSum = 0.0;
if( !::rtl::math::isNan( fMaximumY ) )