sc/inc/formulacell.hxx | 2 - sc/source/core/data/colorscale.cxx | 2 - sc/source/core/data/column3.cxx | 6 ++--- sc/source/core/data/formulacell.cxx | 38 +++++++++++++++++----------------- sc/source/core/tool/sharedformula.cxx | 2 - 5 files changed, 25 insertions(+), 25 deletions(-)
New commits: commit eae8f8b8b45460e4cab11818adb3713b17929713 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Mon Sep 14 10:50:57 2020 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Tue Sep 15 09:43:03 2020 +0200 EndListeningTo always dereferences its argument Change-Id: I0e61c1c367a0ffcd8acbf3202293833886a59c42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102661 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/sc/inc/formulacell.hxx b/sc/inc/formulacell.hxx index 49d6ddb9b762..296211687c39 100644 --- a/sc/inc/formulacell.hxx +++ b/sc/inc/formulacell.hxx @@ -463,7 +463,7 @@ public: void StartListeningTo( ScDocument& rDoc ); void StartListeningTo( sc::StartListeningContext& rCxt ); void EndListeningTo( - ScDocument* pDoc, ScTokenArray* pArr = nullptr, ScAddress aPos = ScAddress() ); + ScDocument& rDoc, ScTokenArray* pArr = nullptr, ScAddress aPos = ScAddress() ); void EndListeningTo( sc::EndListeningContext& rCxt ); bool IsShared() const; diff --git a/sc/source/core/data/colorscale.cxx b/sc/source/core/data/colorscale.cxx index deec68636033..f920985d7263 100644 --- a/sc/source/core/data/colorscale.cxx +++ b/sc/source/core/data/colorscale.cxx @@ -200,7 +200,7 @@ ScColorScaleEntry::ScColorScaleEntry(ScDocument* pDoc, const ScColorScaleEntry& ScColorScaleEntry::~ScColorScaleEntry() COVERITY_NOEXCEPT_FALSE { if(mpCell) - mpCell->EndListeningTo(mpCell->GetDocument()); + mpCell->EndListeningTo(*mpCell->GetDocument()); } void ScColorScaleEntry::SetFormula( const OUString& rFormula, ScDocument* pDoc, const ScAddress& rAddr, formula::FormulaGrammar::Grammar eGrammar ) diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index 55a1f59575bd..f6a42fce7a72 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -125,7 +125,7 @@ void ScColumn::DeleteContent( SCROW nRow, bool bBroadcast ) if (it->type == sc::element_type_formula) { ScFormulaCell* p = sc::formula_block::at(*it->data, aPos.second); - p->EndListeningTo(GetDoc()); + p->EndListeningTo(*GetDoc()); sc::SharedFormulaUtil::unshareFormulaCell(aPos, *p); } maCells.set_empty(nRow, nRow); @@ -334,7 +334,7 @@ void ScColumn::DetachFormulaCell( // Have the dying formula cell stop listening. // If in a shared formula group this ends the group listening. - rCell.EndListeningTo(GetDoc()); + rCell.EndListeningTo(*GetDoc()); } sc::SharedFormulaUtil::unshareFormulaCell(aPos, rCell); @@ -392,7 +392,7 @@ public: if (mpCxt) pCell->EndListeningTo(*mpCxt); else - pCell->EndListeningTo(mpDoc); + pCell->EndListeningTo(*mpDoc); } }; diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx index 1ea54895f4ee..50fd18bf4293 100644 --- a/sc/source/core/data/formulacell.cxx +++ b/sc/source/core/data/formulacell.cxx @@ -1211,7 +1211,7 @@ void ScFormulaCell::CompileTokenArray( bool bNoListening ) bNoListening = true; if( !bNoListening && pCode->GetCodeLen() ) - EndListeningTo( pDocument ); + EndListeningTo( *pDocument ); ScCompiler aComp(pDocument, aPos, *pCode, pDocument->GetGrammar(), true, cMatrixFlag != ScMatrixMode::NONE); bSubTotal = aComp.CompileTokenArray(); if( pCode->GetCodeError() == FormulaError::NONE ) @@ -1251,7 +1251,7 @@ void ScFormulaCell::CompileTokenArray( sc::CompileFormulaContext& rCxt, bool bNo bNoListening = true; if( !bNoListening && pCode->GetCodeLen() ) - EndListeningTo( pDocument ); + EndListeningTo( *pDocument ); ScCompiler aComp(rCxt, aPos, *pCode, true, cMatrixFlag != ScMatrixMode::NONE); bSubTotal = aComp.CompileTokenArray(); if( pCode->GetCodeError() == FormulaError::NONE ) @@ -2317,7 +2317,7 @@ void ScFormulaCell::InterpretTail( ScInterpreterContext& rContext, ScInterpretTa if (pCode->IsRecalcModeAlways()) { // The formula was previously volatile, but no more. - EndListeningTo(pDocument); + EndListeningTo(*pDocument); pCode->SetExclusiveRecalcModeNormal(); } else @@ -2370,7 +2370,7 @@ void ScFormulaCell::HandleStuffAfterParallelCalculation(ScInterpreter* pInterpre if (pCode->IsRecalcModeAlways()) { // The formula was previously volatile, but no more. - EndListeningTo(pDocument); + EndListeningTo(*pDocument); pCode->SetExclusiveRecalcModeNormal(); } else @@ -2465,7 +2465,7 @@ void ScFormulaCell::Notify( const SfxHint& rHint ) break; case sc::RefHint::StopListening: { - EndListeningTo( pDocument); + EndListeningTo(*pDocument); } break; default: @@ -3336,7 +3336,7 @@ bool ScFormulaCell::UpdateReferenceOnShift( || (bValChanged && bInDeleteUndo) || bHasRelName); if ( bNewListening ) - EndListeningTo(pDocument, pOldCode.get(), aOldPos); + EndListeningTo(*pDocument, pOldCode.get(), aOldPos); } // NeedDirty for changes except for Copy and Move/Insert without RelNames @@ -3467,7 +3467,7 @@ bool ScFormulaCell::UpdateReferenceOnMove( && !(pDocument->IsInsertingFromOtherDoc() && rCxt.maRange.In(aPos)); if ( bNewListening ) - EndListeningTo(pDocument, pOldCode.get(), aOldPos); + EndListeningTo(*pDocument, pOldCode.get(), aOldPos); } bool bNeedDirty = false; @@ -3614,7 +3614,7 @@ void ScFormulaCell::UpdateInsertTab( const sc::RefUpdateInsertTabContext& rCxt ) return; } - EndListeningTo( pDocument ); + EndListeningTo( *pDocument ); ScAddress aOldPos = aPos; // IncTab _after_ EndListeningTo and _before_ Compiler UpdateInsertTab! if (bPosChanged) @@ -3643,7 +3643,7 @@ void ScFormulaCell::UpdateDeleteTab( const sc::RefUpdateDeleteTabContext& rCxt ) return; } - EndListeningTo( pDocument ); + EndListeningTo( *pDocument ); // IncTab _after_ EndListeningTo and _before_ Compiler UpdateDeleteTab! ScAddress aOldPos = aPos; if (bPosChanged) @@ -3669,7 +3669,7 @@ void ScFormulaCell::UpdateMoveTab( const sc::RefUpdateMoveTabContext& rCxt, SCTA return; } - EndListeningTo(pDocument); + EndListeningTo(*pDocument); ScAddress aOldPos = aPos; // SetTab _after_ EndListeningTo and _before_ Compiler UpdateMoveTab ! aPos.SetTab(nTabNo); @@ -3798,7 +3798,7 @@ void ScFormulaCell::TransposeReference() void ScFormulaCell::UpdateTranspose( const ScRange& rSource, const ScAddress& rDest, ScDocument* pUndoDoc ) { - EndListeningTo( pDocument ); + EndListeningTo( *pDocument ); ScAddress aOldPos = aPos; bool bPosChanged = false; // Whether this cell has been moved @@ -3868,7 +3868,7 @@ void ScFormulaCell::UpdateTranspose( const ScRange& rSource, const ScAddress& rD void ScFormulaCell::UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY ) { - EndListeningTo( pDocument ); + EndListeningTo( *pDocument ); bool bRefChanged = false; @@ -5356,23 +5356,23 @@ void endListeningArea( } -void ScFormulaCell::EndListeningTo( ScDocument* pDoc, ScTokenArray* pArr, +void ScFormulaCell::EndListeningTo( ScDocument& rDoc, ScTokenArray* pArr, ScAddress aCellPos ) { if (mxGroup) - mxGroup->endAllGroupListening(*pDoc); + mxGroup->endAllGroupListening(rDoc); - if (pDoc->IsClipOrUndo() || IsInChangeTrack()) + if (rDoc.IsClipOrUndo() || IsInChangeTrack()) return; if (!HasBroadcaster()) return; - pDoc->SetDetectiveDirty(true); // It has changed something + rDoc.SetDetectiveDirty(true); // It has changed something if ( GetCode()->IsRecalcModeAlways() ) { - pDoc->EndListeningArea(BCA_LISTEN_ALWAYS, false, this); + rDoc.EndListeningArea(BCA_LISTEN_ALWAYS, false, this); return; } @@ -5391,11 +5391,11 @@ void ScFormulaCell::EndListeningTo( ScDocument* pDoc, ScTokenArray* pArr, { ScAddress aCell = t->GetSingleRef()->toAbs(*pDocument, aCellPos); if (aCell.IsValid()) - pDoc->EndListeningCell(aCell, this); + rDoc.EndListeningCell(aCell, this); } break; case svDoubleRef: - endListeningArea(this, *pDoc, aCellPos, *t); + endListeningArea(this, rDoc, aCellPos, *t); break; default: ; // nothing diff --git a/sc/source/core/tool/sharedformula.cxx b/sc/source/core/tool/sharedformula.cxx index 104c9d8d4629..9383abb3cb94 100644 --- a/sc/source/core/tool/sharedformula.cxx +++ b/sc/source/core/tool/sharedformula.cxx @@ -85,7 +85,7 @@ bool SharedFormulaUtil::splitFormulaCellGroup(const CellStoreType::position_type if (pCxt) rPrevTop.EndListeningTo(*pCxt); else - rPrevTop.EndListeningTo( rPrevTop.GetDocument(), nullptr, ScAddress( ScAddress::UNINITIALIZED)); + rPrevTop.EndListeningTo( *rPrevTop.GetDocument(), nullptr, ScAddress( ScAddress::UNINITIALIZED)); rPrevTop.SetNeedsListening(true); // The new group or remaining single cell needs a new listening. _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits