[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - oox/source

Szymon KÅ‚os (via logerrit) logerrit at kemper.freedesktop.org
Wed Apr 14 09:00:16 UTC 2021


 oox/source/drawingml/chart/typegroupconverter.cxx |   13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

New commits:
commit 5389028154847f05a5138d85645f7d0639e10b16
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Wed Apr 7 11:00:25 2021 +0200
Commit:     Jan Holesovsky <kendy at collabora.com>
CommitDate: Wed Apr 14 10:59:43 2021 +0200

    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/+/113721
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>

diff --git a/oox/source/drawingml/chart/typegroupconverter.cxx b/oox/source/drawingml/chart/typegroupconverter.cxx
index ea02d5ca548b..99bbaebe3101 100644
--- a/oox/source/drawingml/chart/typegroupconverter.cxx
+++ b/oox/source/drawingml/chart/typegroupconverter.cxx
@@ -291,11 +291,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" );
     }


More information about the Libreoffice-commits mailing list