From 4ade8461354063b8c1d22eaf65373a6e89f6a14a Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Sun, 13 Sep 2020 19:32:19 +0100 Subject: InsertRangeName always dereferences its ScDocument* arg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I85e10c92c2480c4b1aff36c3c29cc7972f2bed8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102599 Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara --- sc/source/filter/html/htmlimp.cxx | 16 ++++++++-------- sc/source/filter/inc/htmlimp.hxx | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sc/source/filter/html/htmlimp.cxx b/sc/source/filter/html/htmlimp.cxx index 40c0babd73eb..165cbc80b679 100644 --- a/sc/source/filter/html/htmlimp.cxx +++ b/sc/source/filter/html/htmlimp.cxx @@ -98,16 +98,16 @@ ScHTMLImport::ScHTMLImport( ScDocument* pDocP, const OUString& rBaseURL, const S mpParser.reset( new ScHTMLQueryParser( mpEngine.get(), pDocP )); } -void ScHTMLImport::InsertRangeName( ScDocument* pDoc, const OUString& rName, const ScRange& rRange ) +void ScHTMLImport::InsertRangeName( ScDocument& rDoc, const OUString& rName, const ScRange& rRange ) { ScComplexRefData aRefData; aRefData.InitRange( rRange ); aRefData.Ref1.SetFlag3D( true ); aRefData.Ref2.SetFlag3D( aRefData.Ref2.Tab() != aRefData.Ref1.Tab() ); - ScTokenArray aTokArray(*pDoc); + ScTokenArray aTokArray(rDoc); aTokArray.AddDoubleReference( aRefData ); - ScRangeData* pRangeData = new ScRangeData( pDoc, rName, aTokArray ); - pDoc->GetRangeName()->insert( pRangeData ); + ScRangeData* pRangeData = new ScRangeData( &rDoc, rName, aTokArray ); + rDoc.GetRangeName()->insert( pRangeData ); } void ScHTMLImport::WriteToDocument( @@ -160,10 +160,10 @@ void ScHTMLImport::WriteToDocument( ScRange aNewRange( maRange.aStart ); aNewRange.aEnd.IncCol( static_cast(pGlobTable->GetDocSize( tdCol )) - 1 ); aNewRange.aEnd.IncRow( pGlobTable->GetDocSize( tdRow ) - 1 ); - InsertRangeName( mpDoc, ScfTools::GetHTMLDocName(), aNewRange ); + InsertRangeName( *mpDoc, ScfTools::GetHTMLDocName(), aNewRange ); // 2 - all tables - InsertRangeName( mpDoc, ScfTools::GetHTMLTablesName(), ScRange( maRange.aStart ) ); + InsertRangeName( *mpDoc, ScfTools::GetHTMLTablesName(), ScRange( maRange.aStart ) ); // 3 - single tables SCCOL nColDiff = maRange.aStart.Col(); @@ -181,13 +181,13 @@ void ScHTMLImport::WriteToDocument( assert(!"can't move"); } // insert table number as name - InsertRangeName( mpDoc, ScfTools::GetNameFromHTMLIndex( nTableId ), aNewRange ); + InsertRangeName( *mpDoc, ScfTools::GetNameFromHTMLIndex( nTableId ), aNewRange ); // insert table id as name if (!pTable->GetTableName().isEmpty()) { OUString aName( ScfTools::GetNameFromHTMLName( pTable->GetTableName() ) ); if (!mpDoc->GetRangeName()->findByUpperName(ScGlobal::getCharClassPtr()->uppercase(aName))) - InsertRangeName( mpDoc, aName, aNewRange ); + InsertRangeName( *mpDoc, aName, aNewRange ); } } } diff --git a/sc/source/filter/inc/htmlimp.hxx b/sc/source/filter/inc/htmlimp.hxx index da50cb33c4de..eaddd57cf16f 100644 --- a/sc/source/filter/inc/htmlimp.hxx +++ b/sc/source/filter/inc/htmlimp.hxx @@ -25,7 +25,7 @@ class ScHTMLImport : public ScEEImport { private: - static void InsertRangeName( ScDocument* pDoc, const OUString& rName, const ScRange& rRange ); + static void InsertRangeName( ScDocument& rDoc, const OUString& rName, const ScRange& rRange ); public: ScHTMLImport( ScDocument* pDoc, const OUString& rBaseURL, const ScRange& rRange, bool bCalcWidthHeight ); -- cgit v1.2.3