summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2021-04-07 11:00:25 +0200
committerSzymon Kłos <szymon.klos@collabora.com>2021-04-19 15:54:31 +0200
commit31bd823c522dfbe6a495c7d93fce2ebc1f724514 (patch)
treef8e672931176458966c5ea2afef6fe676fbdf951 /oox
parent366f87403a83ceddf0330a0ed8cf9534191dc921 (diff)
Don't overwrite existing categories for series
When chart serie has defined categories which are not references we can fail on creating XLabeledDataSequence and in the end overwrite them. Change-Id: Ie8dc76e420fc4a2508df66a6dca80b8023ee895b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113835 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'oox')
-rw-r--r--oox/source/drawingml/chart/typegroupconverter.cxx13
1 files changed, 8 insertions, 5 deletions
diff --git a/oox/source/drawingml/chart/typegroupconverter.cxx b/oox/source/drawingml/chart/typegroupconverter.cxx
index f6cea5df9b38..5c96001909bc 100644
--- a/oox/source/drawingml/chart/typegroupconverter.cxx
+++ b/oox/source/drawingml/chart/typegroupconverter.cxx
@@ -290,11 +290,14 @@ Reference< XLabeledDataSequence > TypeGroupConverter::createCategorySequence()
if( nMaxValues < 0 )
nMaxValues = 2;
SeriesModel &aModel = *mrModel.maSeries.get(0);
- DataSourceModel &aSrc = aModel.maSources.create( SeriesModel::CATEGORIES );
- DataSequenceModel &aSeq = aSrc.mxDataSeq.create();
- aSeq.mnPointCount = nMaxValues;
- for( sal_Int32 i = 0; i < nMaxValues; i++ )
- aSeq.maData[ i ] <<= OUString::number( i + 1 );
+ if (!aModel.maSources.has(SeriesModel::CATEGORIES))
+ {
+ DataSourceModel &aSrc = aModel.maSources.create( SeriesModel::CATEGORIES );
+ DataSequenceModel &aSeq = aSrc.mxDataSeq.create();
+ aSeq.mnPointCount = nMaxValues;
+ for( sal_Int32 i = 0; i < nMaxValues; i++ )
+ aSeq.maData[ i ] <<= OUString::number( i + 1 );
+ }
SeriesConverter aSeriesConv( *this, aModel );
xLabeledSeq = aSeriesConv.createCategorySequence( "categories" );
}