[Libreoffice-commits] core.git: sc/inc sc/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Sun Sep 13 14:40:48 UTC 2020


 sc/inc/rangeutl.hxx                 |    2 +-
 sc/source/core/tool/rangeutl.cxx    |   14 +++++++-------
 sc/source/ui/app/inputwin.cxx       |    4 ++--
 sc/source/ui/miscdlgs/anyrefdg.cxx  |    2 +-
 sc/source/ui/miscdlgs/optsolver.cxx |    2 +-
 sc/source/ui/unoobj/cellsuno.cxx    |    4 ++--
 sc/source/ui/unoobj/docuno.cxx      |    4 ++--
 sc/source/ui/view/tabvwsh3.cxx      |    4 ++--
 8 files changed, 18 insertions(+), 18 deletions(-)

New commits:
commit 8ff2889f417fdf9a2a2b849189dfd4e693bb7a45
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Sun Sep 13 14:30:26 2020 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Sun Sep 13 16:40:07 2020 +0200

    MakeRangeFromName never passed a null ScDocument*
    
    Change-Id: Ie9de24e4be10efb071139f02576058cee512bc7a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102579
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/inc/rangeutl.hxx b/sc/inc/rangeutl.hxx
index f5468ad2728f..a65939e81e03 100644
--- a/sc/inc/rangeutl.hxx
+++ b/sc/inc/rangeutl.hxx
@@ -72,7 +72,7 @@ public:
                                   ScAddress::Details const & rDetails = ScAddress::detailsOOOa1 );
 
     static bool MakeRangeFromName( const OUString& rName,
-                                    const ScDocument* pDoc,
+                                   const ScDocument& rDoc,
                                     SCTAB           nCurTab,
                                     ScRange&        rRange,
                                   RutlNameScope eScope=RUTL_NAMES,
diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx
index 6faacbaaf6cf..340b76eeada1 100644
--- a/sc/source/core/tool/rangeutl.cxx
+++ b/sc/source/core/tool/rangeutl.cxx
@@ -234,7 +234,7 @@ bool ScRangeUtil::IsAbsPos( const OUString&   rPosStr,
 
 bool ScRangeUtil::MakeRangeFromName (
     const OUString& rName,
-    const ScDocument* pDoc,
+    const ScDocument& rDoc,
     SCTAB           nCurTab,
     ScRange&        rRange,
     RutlNameScope   eScope,
@@ -257,7 +257,7 @@ bool ScRangeUtil::MakeRangeFromName (
         if (nEndPos != -1 && nStartPos != -1)
         {
             OUString aSheetName = aName.copy(nStartPos+2, nEndPos-nStartPos-2);
-            if (pDoc->GetTable(aSheetName, nTable))
+            if (rDoc.GetTable(aSheetName, nTable))
             {
                 aName = aName.copy(0, nStartPos);
             }
@@ -265,13 +265,13 @@ bool ScRangeUtil::MakeRangeFromName (
                 nTable = nCurTab;
         }
         //then check for local range names
-        ScRangeName* pRangeNames = pDoc->GetRangeName( nTable );
+        ScRangeName* pRangeNames = rDoc.GetRangeName( nTable );
         ScRangeData* pData = nullptr;
         aName = ScGlobal::getCharClassPtr()->uppercase(aName);
         if ( pRangeNames )
             pData = pRangeNames->findByUpperName(aName);
         if (!pData)
-            pData = pDoc->GetRangeName()->findByUpperName(aName);
+            pData = rDoc.GetRangeName()->findByUpperName(aName);
         if (pData)
         {
             OUString         aStrArea;
@@ -280,7 +280,7 @@ bool ScRangeUtil::MakeRangeFromName (
 
             pData->GetSymbol( aStrArea );
 
-            if ( IsAbsArea( aStrArea, pDoc, nTable,
+            if ( IsAbsArea( aStrArea, &rDoc, nTable,
                             nullptr, &aStartPos, &aEndPos, rDetails ) )
             {
                 nTab       = aStartPos.Tab();
@@ -294,7 +294,7 @@ bool ScRangeUtil::MakeRangeFromName (
             {
                 CutPosString( aStrArea, aStrArea );
 
-                if ( IsAbsPos( aStrArea, pDoc, nTable,
+                if ( IsAbsPos( aStrArea, &rDoc, nTable,
                                           nullptr, &aStartPos, rDetails ) )
                 {
                     nTab       = aStartPos.Tab();
@@ -307,7 +307,7 @@ bool ScRangeUtil::MakeRangeFromName (
     }
     else if( eScope==RUTL_DBASE )
     {
-        ScDBCollection::NamedDBs& rDbNames = pDoc->GetDBCollection()->getNamedDBs();
+        ScDBCollection::NamedDBs& rDbNames = rDoc.GetDBCollection()->getNamedDBs();
         ScDBData* pData = rDbNames.findByUpperName(ScGlobal::getCharClassPtr()->uppercase(rName));
         if (pData)
         {
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index 6f2245de753f..82c8c0925a06 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -2330,9 +2330,9 @@ static ScNameInputType lcl_GetInputType( const OUString& rText )
             eRet = SC_NAME_INPUT_RANGE;
         else if ( aAddress.Parse( rText, pDoc, eConv ) & ScRefFlags::VALID )
             eRet = SC_NAME_INPUT_CELL;
-        else if ( ScRangeUtil::MakeRangeFromName( rText, pDoc, nTab, aRange, RUTL_NAMES, eConv ) )
+        else if ( ScRangeUtil::MakeRangeFromName( rText, *pDoc, nTab, aRange, RUTL_NAMES, eConv ) )
             eRet = SC_NAME_INPUT_NAMEDRANGE;
-        else if ( ScRangeUtil::MakeRangeFromName( rText, pDoc, nTab, aRange, RUTL_DBASE, eConv ) )
+        else if ( ScRangeUtil::MakeRangeFromName( rText, *pDoc, nTab, aRange, RUTL_DBASE, eConv ) )
             eRet = SC_NAME_INPUT_DATABASE;
         else if ( comphelper::string::isdigitAsciiString( rText ) &&
                   ( nNumeric = rText.toInt32() ) > 0 && nNumeric <= pDoc->MaxRow()+1 )
diff --git a/sc/source/ui/miscdlgs/anyrefdg.cxx b/sc/source/ui/miscdlgs/anyrefdg.cxx
index 5610e6d63296..92c3727ded49 100644
--- a/sc/source/ui/miscdlgs/anyrefdg.cxx
+++ b/sc/source/ui/miscdlgs/anyrefdg.cxx
@@ -161,7 +161,7 @@ bool ScFormulaReferenceHelper::ParseWithNames( ScRangeList& rRanges, const OUStr
                 aRange.aEnd.SetTab( aRange.aStart.Tab() );
             rRanges.push_back( aRange );
         }
-        else if ( ScRangeUtil::MakeRangeFromName( aRangeStr, &rDoc, m_nRefTab, aRange, RUTL_NAMES, aDetails ) )
+        else if ( ScRangeUtil::MakeRangeFromName( aRangeStr, rDoc, m_nRefTab, aRange, RUTL_NAMES, aDetails ) )
             rRanges.push_back( aRange );
         else
             bError = true;
diff --git a/sc/source/ui/miscdlgs/optsolver.cxx b/sc/source/ui/miscdlgs/optsolver.cxx
index 1b4cb066afa7..8f0378724828 100644
--- a/sc/source/ui/miscdlgs/optsolver.cxx
+++ b/sc/source/ui/miscdlgs/optsolver.cxx
@@ -762,7 +762,7 @@ bool ScOptSolverDlg::ParseRef( ScRange& rRange, const OUString& rInput, bool bAl
             rRange.aEnd.SetTab( rRange.aStart.Tab() );
         return ( bAllowRange || rRange.aStart == rRange.aEnd );
     }
-    else if ( ScRangeUtil::MakeRangeFromName( rInput, &mrDoc, mnCurTab, rRange, RUTL_NAMES, aDetails ) )
+    else if ( ScRangeUtil::MakeRangeFromName( rInput, mrDoc, mnCurTab, rRange, RUTL_NAMES, aDetails ) )
         return ( bAllowRange || rRange.aStart == rRange.aEnd );
 
     return false;   // not recognized
diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx
index 903a90726645..10a510920c86 100644
--- a/sc/source/ui/unoobj/cellsuno.cxx
+++ b/sc/source/ui/unoobj/cellsuno.cxx
@@ -4762,8 +4762,8 @@ uno::Reference<table::XCellRange>  ScCellRangeObj::getCellRangeByName(
         }
         else
         {
-            if ( ScRangeUtil::MakeRangeFromName( aName, &rDoc, nTab, aCellRange ) ||
-                 ScRangeUtil::MakeRangeFromName( aName, &rDoc, nTab, aCellRange, RUTL_DBASE ) )
+            if ( ScRangeUtil::MakeRangeFromName( aName, rDoc, nTab, aCellRange ) ||
+                 ScRangeUtil::MakeRangeFromName( aName, rDoc, nTab, aCellRange, RUTL_DBASE ) )
                 bFound = true;
         }
 
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index b04dcf575add..2531c4776284 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -1406,8 +1406,8 @@ static bool lcl_ParseTarget( const OUString& rTarget, ScRange& rTargetRange, too
         rTargetRange = aAddress;
         bRangeValid = true;             // cell reference
     }
-    else if ( ScRangeUtil::MakeRangeFromName( rTarget, &rDoc, nSourceTab, rTargetRange ) ||
-              ScRangeUtil::MakeRangeFromName( rTarget, &rDoc, 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
     }
diff --git a/sc/source/ui/view/tabvwsh3.cxx b/sc/source/ui/view/tabvwsh3.cxx
index f12692547c6a..0beaa6af37f0 100644
--- a/sc/source/ui/view/tabvwsh3.cxx
+++ b/sc/source/ui/view/tabvwsh3.cxx
@@ -368,8 +368,8 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
                 else
                 {
                     formula::FormulaGrammar::AddressConvention eConv = pDoc->GetAddressConvention();
-                    if( ScRangeUtil::MakeRangeFromName( aAddress, pDoc, nTab, aScRange, RUTL_NAMES, eConv ) ||
-                        ScRangeUtil::MakeRangeFromName( aAddress, pDoc, nTab, aScRange, RUTL_DBASE, eConv ) )
+                    if( ScRangeUtil::MakeRangeFromName( aAddress, *pDoc, nTab, aScRange, RUTL_NAMES, eConv ) ||
+                        ScRangeUtil::MakeRangeFromName( aAddress, *pDoc, nTab, aScRange, RUTL_DBASE, eConv ) )
                     {
                         nResult |= ScRefFlags::VALID;
                         if( aScRange.aStart.Tab() != nTab )


More information about the Libreoffice-commits mailing list