diff options
Diffstat (limited to 'chart2/source/tools/InternalDataProvider.cxx')
-rwxr-xr-x[-rw-r--r--] | chart2/source/tools/InternalDataProvider.cxx | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/chart2/source/tools/InternalDataProvider.cxx b/chart2/source/tools/InternalDataProvider.cxx index 88de8c94e977..b7df7e6d27a4 100644..100755 --- a/chart2/source/tools/InternalDataProvider.cxx +++ b/chart2/source/tools/InternalDataProvider.cxx @@ -379,11 +379,13 @@ InternalDataProvider::InternalDataProvider( const Reference< chart2::XChartDocum if( xSeq.is() ) aDataSeq = xSeq->getData(); sal_Int32 nLength = aDataSeq.getLength(); - if( static_cast< sal_Int32 >(aNewCategories.size()) < nLength ) + sal_Int32 nCatLength = static_cast< sal_Int32 >(aNewCategories.size()); + if( nCatLength < nLength ) aNewCategories.resize( nLength ); - + else if( nLength < nCatLength ) + aDataSeq.realloc( nCatLength ); transform( aNewCategories.begin(), aNewCategories.end(), aDataSeq.getConstArray(), - aNewCategories.begin(), lcl_setAnyAtLevel(nL) ); + aNewCategories.begin(), lcl_setStringAtLevel(nL) ); } if( !nLevelCount ) { |