diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-09-13 14:25:31 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-09-13 16:39:45 +0200 |
commit | 209838cad5f23836da7f3330960d25b5618dcd90 (patch) | |
tree | 5cd42f7faf0a412b92cf1751c7122a74fda3cc1e | |
parent | b732e63a0a4b4dcf74995adf7b679d12ecc09db5 (diff) |
lcl_ParseTarget never passed a null ScDocument*
Change-Id: Ifd977ffd63722705ae73ebf80ecca7be38b5605f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102578
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sc/source/ui/unoobj/docuno.cxx | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 4c708baa1ae7..b04dcf575add 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -1386,7 +1386,7 @@ static OutputDevice* lcl_GetRenderDevice( const uno::Sequence<beans::PropertyVal } static bool lcl_ParseTarget( const OUString& rTarget, ScRange& rTargetRange, tools::Rectangle& rTargetRect, - bool& rIsSheet, ScDocument* pDoc, SCTAB nSourceTab ) + bool& rIsSheet, ScDocument& rDoc, SCTAB nSourceTab ) { // test in same order as in SID_CURRENTCELL execute @@ -1397,28 +1397,28 @@ static bool lcl_ParseTarget( const OUString& rTarget, ScRange& rTargetRange, too bool bRangeValid = false; bool bRectValid = false; - if ( rTargetRange.Parse( rTarget, pDoc ) & ScRefFlags::VALID ) + if ( rTargetRange.Parse( rTarget, &rDoc ) & ScRefFlags::VALID ) { bRangeValid = true; // range reference } - else if ( aAddress.Parse( rTarget, pDoc ) & ScRefFlags::VALID ) + else if ( aAddress.Parse( rTarget, &rDoc ) & ScRefFlags::VALID ) { rTargetRange = aAddress; bRangeValid = true; // cell reference } - else if ( ScRangeUtil::MakeRangeFromName( rTarget, pDoc, nSourceTab, rTargetRange ) || - ScRangeUtil::MakeRangeFromName( rTarget, pDoc, nSourceTab, rTargetRange, RUTL_DBASE ) ) + else if ( ScRangeUtil::MakeRangeFromName( rTarget, &rDoc, nSourceTab, rTargetRange ) || + ScRangeUtil::MakeRangeFromName( rTarget, &rDoc, nSourceTab, rTargetRange, RUTL_DBASE ) ) { bRangeValid = true; // named range or database range } else if ( comphelper::string::isdigitAsciiString(rTarget) && - ( nNumeric = rTarget.toInt32() ) > 0 && nNumeric <= pDoc->MaxRow()+1 ) + ( nNumeric = rTarget.toInt32() ) > 0 && nNumeric <= rDoc.MaxRow()+1 ) { // row number is always mapped to cell A(row) on the same sheet rTargetRange = ScAddress( 0, static_cast<SCROW>(nNumeric-1), nSourceTab ); // target row number is 1-based bRangeValid = true; // row number } - else if ( pDoc->GetTable( rTarget, nNameTab ) ) + else if ( rDoc.GetTable( rTarget, nNameTab ) ) { rTargetRange = ScAddress(0,0,nNameTab); bRangeValid = true; // sheet name @@ -1428,10 +1428,10 @@ static bool lcl_ParseTarget( const OUString& rTarget, ScRange& rTargetRange, too { // look for named drawing object - ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer(); + ScDrawLayer* pDrawLayer = rDoc.GetDrawLayer(); if ( pDrawLayer ) { - SCTAB nTabCount = pDoc->GetTableCount(); + SCTAB nTabCount = rDoc.GetTableCount(); for (SCTAB i=0; i<nTabCount && !bRangeValid; i++) { SdrPage* pPage = pDrawLayer->GetPage(static_cast<sal_uInt16>(i)); @@ -1445,7 +1445,7 @@ static bool lcl_ParseTarget( const OUString& rTarget, ScRange& rTargetRange, too if ( ScDrawLayer::GetVisibleName( pObject ) == rTarget ) { rTargetRect = pObject->GetLogicRect(); // 1/100th mm - rTargetRange = pDoc->GetRange( i, rTargetRect ); // underlying cells + rTargetRange = rDoc.GetRange( i, rTargetRect ); // underlying cells bRangeValid = bRectValid = true; // rectangle is valid } pObject = aIter.Next(); @@ -1457,9 +1457,9 @@ static bool lcl_ParseTarget( const OUString& rTarget, ScRange& rTargetRange, too if ( bRangeValid && !bRectValid ) { // get rectangle for cell range - rTargetRect = pDoc->GetMMRect( rTargetRange.aStart.Col(), rTargetRange.aStart.Row(), - rTargetRange.aEnd.Col(), rTargetRange.aEnd.Row(), - rTargetRange.aStart.Tab() ); + rTargetRect = rDoc.GetMMRect( rTargetRange.aStart.Col(), rTargetRange.aStart.Row(), + rTargetRange.aEnd.Col(), rTargetRange.aEnd.Row(), + rTargetRange.aStart.Tab() ); } return bRangeValid; @@ -2225,7 +2225,7 @@ void SAL_CALL ScModelObj::render( sal_Int32 nSelRenderer, const uno::Any& aSelec ScRange aTargetRange; tools::Rectangle aTargetRect; // 1/100th mm bool bIsSheet = false; - bool bValid = lcl_ParseTarget( aTarget, aTargetRange, aTargetRect, bIsSheet, &rDoc, nTab ); + bool bValid = lcl_ParseTarget( aTarget, aTargetRange, aTargetRect, bIsSheet, rDoc, nTab ); if ( bValid ) { |