chart2/source/controller/accessibility/AccessibleBase.cxx | 2 chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx | 4 - chart2/source/controller/chartapiwrapper/GridWrapper.cxx | 2 chart2/source/model/main/Axis.cxx | 6 +- chart2/source/model/main/DataSeries.cxx | 16 ++--- chart2/source/model/template/ChartTypeTemplate.cxx | 2 sc/source/core/inc/interpre.hxx | 4 - sc/source/core/tool/interpr1.cxx | 35 +++++------- 8 files changed, 35 insertions(+), 36 deletions(-)
New commits: commit 1d0da28c7e8bb962c33f2390f42e0e84e47ada9d Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Fri Mar 7 21:21:46 2025 +0200 Commit: Noel Grandin <noelgran...@gmail.com> CommitDate: Sat Mar 8 17:42:54 2025 +0100 no need to allocate these ScTokenArray on the heap Change-Id: I605e9d3fc19e118b4992cf0799a91de189ed0dbf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182665 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx index 39383cc311e7..7f07ed329619 100644 --- a/sc/source/core/inc/interpre.hxx +++ b/sc/source/core/inc/interpre.hxx @@ -521,8 +521,8 @@ private: // Get tokens at specific parameters for LET (lambda) function static void replaceNamesToResult( const std::unordered_map<OUString, formula::FormulaToken*>& rResultIndexes, - std::unique_ptr<ScTokenArray>& pTokens, short nStartPos, short nEndPos ); - std::unique_ptr<ScTokenArray> checkPushTokens( const std::unique_ptr<ScTokenArray>& pTokens, + ScTokenArray& rTokens, short nStartPos, short nEndPos ); + ScTokenArray checkPushTokens( const ScTokenArray& rTokens, short nStartPos, short nEndPos ); void ScTableOp(); // repeated operations diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx index d91207ebcbd8..50fbd8244d37 100644 --- a/sc/source/core/tool/interpr1.cxx +++ b/sc/source/core/tool/interpr1.cxx @@ -9572,9 +9572,9 @@ void ScInterpreter::ScUnique() } void ScInterpreter::replaceNamesToResult( const std::unordered_map<OUString, formula::FormulaToken*>& rResultIndexes, - std::unique_ptr<ScTokenArray>& pTokens, short nStartPos, short nEndPos ) + ScTokenArray& rTokens, short nStartPos, short nEndPos ) { - formula::FormulaTokenArrayPlainIterator aIterResult(*pTokens); + formula::FormulaTokenArrayPlainIterator aIterResult(rTokens); aIterResult.Jump(nStartPos + 1); for (FormulaToken* t = aIterResult.GetNextStringName(); t; t = aIterResult.GetNextStringName()) { @@ -9582,23 +9582,23 @@ void ScInterpreter::replaceNamesToResult( const std::unordered_map<OUString, for break; auto iRes = rResultIndexes.find(t->GetString().getString()); if (iRes != rResultIndexes.end()) - pTokens->ReplaceRPNToken(aIterResult.GetIndex() - 1, iRes->second->Clone()); + rTokens.ReplaceRPNToken(aIterResult.GetIndex() - 1, iRes->second->Clone()); } } -std::unique_ptr<ScTokenArray> ScInterpreter::checkPushTokens(const std::unique_ptr<ScTokenArray>& pTokens, short nStartPos, short nEndPos) +ScTokenArray ScInterpreter::checkPushTokens(const ScTokenArray& rTokens, short nStartPos, short nEndPos) { - formula::FormulaTokenArrayPlainIterator aIterResult(*pTokens); + formula::FormulaTokenArrayPlainIterator aIterResult(rTokens); aIterResult.Jump(nStartPos + 1); - unique_ptr<ScTokenArray> pTempTokens(new ScTokenArray(mrDoc)); + ScTokenArray aTempTokens(mrDoc); for (FormulaToken* t = aIterResult.NextRPN(); t; t = aIterResult.NextRPN()) { if (aIterResult.GetIndex() > nEndPos) break; - pTempTokens->AddToken(*t->Clone()); + aTempTokens.AddToken(*t->Clone()); } - return pTempTokens; + return aTempTokens; } void ScInterpreter::ScLet() @@ -9618,7 +9618,7 @@ void ScInterpreter::ScLet() std::unordered_map<OUString, formula::FormulaToken*> nResultIndexes; formula::FormulaTokenArrayPlainIterator aIter(*pArr); // clone tokens for replacing string name tokens - unique_ptr<ScTokenArray> pValueTokens = pArr->Clone(); + ScTokenArray aValueTokens = pArr->CloneValue(); // name and function pairs parameter while (nJumpCount > 1) @@ -9642,20 +9642,20 @@ void ScInterpreter::ScLet() nJumpCount--; // replace names with result tokens - replaceNamesToResult(nResultIndexes, pValueTokens, pJump[nOrgJumpCount - nJumpCount], pJump[nOrgJumpCount - nJumpCount + 1]); + replaceNamesToResult(nResultIndexes, aValueTokens, pJump[nOrgJumpCount - nJumpCount], pJump[nOrgJumpCount - nJumpCount + 1]); - unique_ptr<ScTokenArray> pTempTokens = checkPushTokens(pValueTokens, pJump[nOrgJumpCount - nJumpCount], pJump[nOrgJumpCount - nJumpCount + 1]); + ScTokenArray aTempTokens = checkPushTokens(aValueTokens, pJump[nOrgJumpCount - nJumpCount], pJump[nOrgJumpCount - nJumpCount + 1]); // calculate the inner results unless we already have a push result token - if (pTempTokens->GetLen() == 0) + if (aTempTokens.GetLen() == 0) { PushIllegalParameter(); aCode.Jump(pJump[nOrgJumpCount], pJump[nOrgJumpCount]); return; } - else if (pTempTokens->GetLen() == 1 && pTempTokens->GetArray()[0]->GetOpCode() == ocPush) + else if (aTempTokens.GetLen() == 1 && aTempTokens.GetArray()[0]->GetOpCode() == ocPush) { - if (!nResultIndexes.insert(std::make_pair(aStrName, pTempTokens->GetArray()[0]->Clone())).second) + if (!nResultIndexes.insert(std::make_pair(aStrName, aTempTokens.GetArray()[0]->Clone())).second) { PushIllegalParameter(); aCode.Jump(pJump[nOrgJumpCount], pJump[nOrgJumpCount]); @@ -9664,7 +9664,7 @@ void ScInterpreter::ScLet() } else { - ScInterpreter aInt(mrDoc.GetFormulaCell(aPos), mrDoc, mrContext, aPos, *pValueTokens); + ScInterpreter aInt(mrDoc.GetFormulaCell(aPos), mrDoc, mrContext, aPos, aValueTokens); aInt.aCode.Jump(pJump[nOrgJumpCount - nJumpCount], pJump[nOrgJumpCount - nJumpCount + 1], pJump[nOrgJumpCount - nJumpCount + 1]); while (aInt.aCode.HasStacked()) aInt.aCode.FrontPop(); @@ -9701,10 +9701,10 @@ void ScInterpreter::ScLet() // last parameter: calculation // replace names with result tokens - replaceNamesToResult(nResultIndexes, pValueTokens, pJump[nOrgJumpCount - nJumpCount], pJump[nOrgJumpCount - nJumpCount + 1]); + replaceNamesToResult(nResultIndexes, aValueTokens, pJump[nOrgJumpCount - nJumpCount], pJump[nOrgJumpCount - nJumpCount + 1]); // calculate the final result - ScInterpreter aInt(mrDoc.GetFormulaCell(aPos), mrDoc, mrContext, aPos, *pValueTokens); + ScInterpreter aInt(mrDoc.GetFormulaCell(aPos), mrDoc, mrContext, aPos, aValueTokens); aInt.aCode.Jump(pJump[nOrgJumpCount - nJumpCount], pJump[nOrgJumpCount - nJumpCount + 1], pJump[nOrgJumpCount - nJumpCount + 1]); while (aInt.aCode.HasStacked()) aInt.aCode.FrontPop(); @@ -9733,7 +9733,6 @@ void ScInterpreter::ScLet() } nJumpCount--; - pValueTokens.reset(); aCode.Jump(pJump[nOrgJumpCount], pJump[nOrgJumpCount]); } commit 309ac64cf45e0d165a84e8526bf388697dba9ec5 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Sat Mar 8 13:23:35 2025 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sat Mar 8 17:42:42 2025 +0100 use more concrete UNO in chart2 Change-Id: I0f91e4ed7a2ddc656d0edb3c8a54960a3b1b70b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182666 Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> Tested-by: Jenkins diff --git a/chart2/source/controller/accessibility/AccessibleBase.cxx b/chart2/source/controller/accessibility/AccessibleBase.cxx index d97e4674a554..0fd8633ccdfc 100644 --- a/chart2/source/controller/accessibility/AccessibleBase.cxx +++ b/chart2/source/controller/accessibility/AccessibleBase.cxx @@ -558,7 +558,7 @@ sal_Bool SAL_CALL AccessibleBase::containsPoint( const awt::Point& aPoint ) Reference< XAccessible > SAL_CALL AccessibleBase::getAccessibleAtPoint( const awt::Point& aPoint ) { CheckDisposeState(); - Reference< XAccessible > aResult; + rtl::Reference< AccessibleBase > aResult; awt::Rectangle aRect( getBounds()); // children are positioned relative to this object, so translate bound rect diff --git a/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx b/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx index 79eb36f41050..5237b9a08b4f 100644 --- a/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx +++ b/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx @@ -815,7 +815,7 @@ css::awt::Rectangle SAL_CALL DiagramWrapper::calculateDiagramPositionIncludingAx // ____ XAxisSupplier ____ Reference< XAxis > SAL_CALL DiagramWrapper::getAxis( sal_Int32 nDimensionIndex ) { - Reference< XAxis > xAxis; + rtl::Reference< AxisWrapper > xAxis; if(!nDimensionIndex) { if( !m_xXAxis.is() ) @@ -839,7 +839,7 @@ Reference< XAxis > SAL_CALL DiagramWrapper::getAxis( sal_Int32 nDimensionIndex ) Reference< XAxis > SAL_CALL DiagramWrapper::getSecondaryAxis( sal_Int32 nDimensionIndex ) { - Reference< XAxis > xAxis; + rtl::Reference< AxisWrapper > xAxis; if(!nDimensionIndex) { if( !m_xSecondXAxis.is() ) diff --git a/chart2/source/controller/chartapiwrapper/GridWrapper.cxx b/chart2/source/controller/chartapiwrapper/GridWrapper.cxx index b1a24bf7ce6d..4931b661cc53 100644 --- a/chart2/source/controller/chartapiwrapper/GridWrapper.cxx +++ b/chart2/source/controller/chartapiwrapper/GridWrapper.cxx @@ -101,7 +101,7 @@ void SAL_CALL GridWrapper::removeEventListener( Reference< beans::XPropertySet > GridWrapper::getInnerPropertySet() { - Reference< beans::XPropertySet > xRet; + rtl::Reference< GridProperties > xRet; try { rtl::Reference< ::chart::Diagram > xDiagram( m_spChart2ModelContact->getDiagram() ); diff --git a/chart2/source/model/main/Axis.cxx b/chart2/source/model/main/Axis.cxx index 394e51ce9bb0..9fe2333776bf 100644 --- a/chart2/source/model/main/Axis.cxx +++ b/chart2/source/model/main/Axis.cxx @@ -354,7 +354,7 @@ Axis::~Axis() void Axis::AllocateSubGrids() { - Reference< util::XModifyListener > xModifyEventForwarder; + rtl::Reference< ModifyEventForwarder > xModifyEventForwarder; Reference< lang::XEventListener > xEventListener; std::vector< rtl::Reference< GridProperties > > aOldBroadcasters; std::vector< rtl::Reference< GridProperties > > aNewBroadcasters; @@ -397,7 +397,7 @@ void Axis::AllocateSubGrids() // ____ XAxis ____ void SAL_CALL Axis::setScaleData( const chart2::ScaleData& rScaleData ) { - Reference< util::XModifyListener > xModifyEventForwarder; + rtl::Reference< ModifyEventForwarder > xModifyEventForwarder; Reference< lang::XEventListener > xEventListener; Reference< chart2::data::XLabeledDataSequence > xOldCategories; Reference< chart2::data::XLabeledDataSequence > xNewCategories = rScaleData.Categories; @@ -480,7 +480,7 @@ void SAL_CALL Axis::setTitleObject( const Reference< chart2::XTitle >& xNewTitle void Axis::setTitleObject( const rtl::Reference< Title >& xNewTitle ) { - Reference< util::XModifyListener > xModifyEventForwarder; + rtl::Reference< ModifyEventForwarder > xModifyEventForwarder; rtl::Reference< Title > xOldTitle; { MutexGuard aGuard( m_aMutex ); diff --git a/chart2/source/model/main/DataSeries.cxx b/chart2/source/model/main/DataSeries.cxx index 247c3178c27e..30a3a6d81908 100644 --- a/chart2/source/model/main/DataSeries.cxx +++ b/chart2/source/model/main/DataSeries.cxx @@ -320,7 +320,7 @@ Reference< beans::XPropertySet > if( !xResult.is() ) { Reference< beans::XPropertySet > xParentProperties; - Reference< util::XModifyListener > xModifyEventForwarder; + rtl::Reference< ModifyEventForwarder > xModifyEventForwarder; { MutexGuard aGuard( m_aMutex ); xParentProperties = this; @@ -343,7 +343,7 @@ Reference< beans::XPropertySet > void SAL_CALL DataSeries::resetDataPoint( sal_Int32 nIndex ) { Reference< beans::XPropertySet > xDataPointProp; - Reference< util::XModifyListener > xModifyEventForwarder; + rtl::Reference< ModifyEventForwarder > xModifyEventForwarder; { MutexGuard aGuard( m_aMutex ); xModifyEventForwarder = m_xModifyEventForwarder; @@ -367,7 +367,7 @@ void SAL_CALL DataSeries::resetDataPoint( sal_Int32 nIndex ) void SAL_CALL DataSeries::resetAllDataPoints() { tDataPointAttributeContainer aOldAttributedDataPoints; - Reference< util::XModifyListener > xModifyEventForwarder; + rtl::Reference< ModifyEventForwarder > xModifyEventForwarder; { MutexGuard aGuard( m_aMutex ); xModifyEventForwarder = m_xModifyEventForwarder; @@ -383,7 +383,7 @@ void SAL_CALL DataSeries::setData( const uno::Sequence< Reference< chart2::data: { tDataSequenceContainer aOldDataSequences; tDataSequenceContainer aNewDataSequences; - Reference< util::XModifyListener > xModifyEventForwarder; + rtl::Reference< ModifyEventForwarder > xModifyEventForwarder; { MutexGuard aGuard( m_aMutex ); xModifyEventForwarder = m_xModifyEventForwarder; @@ -403,7 +403,7 @@ void DataSeries::setData( const std::vector< uno::Reference< chart2::data::XLabe { tDataSequenceContainer aOldDataSequences; tDataSequenceContainer aNewDataSequences; - Reference< util::XModifyListener > xModifyEventForwarder; + rtl::Reference< ModifyEventForwarder > xModifyEventForwarder; { MutexGuard aGuard( m_aMutex ); xModifyEventForwarder = m_xModifyEventForwarder; @@ -434,7 +434,7 @@ void SAL_CALL DataSeries::addRegressionCurve( { auto pRegressionCurve = dynamic_cast<RegressionCurveModel*>(xRegressionCurve.get()); assert(pRegressionCurve); - Reference< util::XModifyListener > xModifyEventForwarder; + rtl::Reference< ModifyEventForwarder > xModifyEventForwarder; { MutexGuard aGuard( m_aMutex ); xModifyEventForwarder = m_xModifyEventForwarder; @@ -455,7 +455,7 @@ void SAL_CALL DataSeries::removeRegressionCurve( auto pRegressionCurve = dynamic_cast<RegressionCurveModel*>(xRegressionCurve.get()); assert(pRegressionCurve); - Reference< util::XModifyListener > xModifyEventForwarder; + rtl::Reference< ModifyEventForwarder > xModifyEventForwarder; { MutexGuard aGuard( m_aMutex ); xModifyEventForwarder = m_xModifyEventForwarder; @@ -489,7 +489,7 @@ void SAL_CALL DataSeries::setRegressionCurves( assert(pRegressionCurve); aNewCurves.push_back(pRegressionCurve); } - Reference< util::XModifyListener > xModifyEventForwarder; + rtl::Reference< ModifyEventForwarder > xModifyEventForwarder; { MutexGuard aGuard( m_aMutex ); xModifyEventForwarder = m_xModifyEventForwarder; diff --git a/chart2/source/model/template/ChartTypeTemplate.cxx b/chart2/source/model/template/ChartTypeTemplate.cxx index 584cf548aaff..c5ca7b2c76b2 100644 --- a/chart2/source/model/template/ChartTypeTemplate.cxx +++ b/chart2/source/model/template/ChartTypeTemplate.cxx @@ -800,7 +800,7 @@ void ChartTypeTemplate::copyPropertiesFromOldToNewCoordinateSystem( OUString aNewChartType( xNewChartType->getChartType() ); - Reference< beans::XPropertySet > xSource; + rtl::Reference< ChartType > xSource; for( rtl::Reference< ChartType > const & xOldType : rOldChartTypesSeq ) { if( xOldType.is() && xOldType->getChartType() == aNewChartType )