summaryrefslogtreecommitdiff
path: root/chart2/source/tools/InternalDataProvider.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/tools/InternalDataProvider.cxx')
-rwxr-xr-x[-rw-r--r--]chart2/source/tools/InternalDataProvider.cxx8
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 )
{