diff options
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx b/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx index 4327297360d4..9c7a2b5342f7 100644 --- a/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx +++ b/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx @@ -1118,7 +1118,8 @@ public: private: //member std::shared_ptr< Chart2ModelContact > m_spChart2ModelContact; - mutable Any m_aOuterValue; + mutable Any m_aOuterValue; + mutable bool m_bDetectedRangeSegmentation { false }; }; } @@ -1172,15 +1173,19 @@ Any WrappedDataRowSourceProperty::getPropertyValue( const Reference< beans::XPro bool bHasCategories = true; uno::Sequence< sal_Int32 > aSequenceMapping; - if( DataSourceHelper::detectRangeSegmentation( - m_spChart2ModelContact->getDocumentModel(), aRangeString, aSequenceMapping, bUseColumns - , bFirstCellAsLabel, bHasCategories ) ) + if (!m_bDetectedRangeSegmentation) { - css::chart::ChartDataRowSource eChartDataRowSource = css::chart::ChartDataRowSource_ROWS; - if(bUseColumns) - eChartDataRowSource = css::chart::ChartDataRowSource_COLUMNS; + if( DataSourceHelper::detectRangeSegmentation( + m_spChart2ModelContact->getDocumentModel(), aRangeString, aSequenceMapping, bUseColumns + , bFirstCellAsLabel, bHasCategories ) ) + { + css::chart::ChartDataRowSource eChartDataRowSource = css::chart::ChartDataRowSource_ROWS; + if(bUseColumns) + eChartDataRowSource = css::chart::ChartDataRowSource_COLUMNS; - m_aOuterValue <<= eChartDataRowSource; + m_aOuterValue <<= eChartDataRowSource; + } + m_bDetectedRangeSegmentation = true; } return m_aOuterValue; |