From 209838cad5f23836da7f3330960d25b5618dcd90 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Sun, 13 Sep 2020 14:25:31 +0100 Subject: lcl_ParseTarget never passed a null ScDocument* MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ifd977ffd63722705ae73ebf80ecca7be38b5605f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102578 Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara --- sc/source/ui/unoobj/docuno.cxx | 28 ++++++++++++++-------------- 1 file 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 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(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; iGetPage(static_cast(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 ) { -- cgit v1.2.3