diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2021-04-07 11:00:25 +0200 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2021-04-19 15:54:31 +0200 |
commit | 31bd823c522dfbe6a495c7d93fce2ebc1f724514 (patch) | |
tree | f8e672931176458966c5ea2afef6fe676fbdf951 /oox | |
parent | 366f87403a83ceddf0330a0ed8cf9534191dc921 (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.cxx | 13 |
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" ); } |