diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2011-11-23 03:41:26 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2011-11-23 06:25:36 +0100 |
commit | 9e8ae1d56076474e4673a953d8ebd726cb5daa18 (patch) | |
tree | 9fa98ed589c4484bfc2b72a520e7f195f561c0f2 /sc | |
parent | f3c7c1e4ceddc6f778de89c1e75dbb126247c787 (diff) |
remove ScRangeName::findByName
this method was mmisused and is the source for some "bugs"
we don't allow case sensitive storage of range names and therefore it
does not amke sense to search by case sensitive names, use
ScRangeName::findByUpperName instead
Especially the uno implementation did behave wrongly and allowed to
create two names that were identicall for the model
Diffstat (limited to 'sc')
-rw-r--r-- | sc/inc/rangenam.hxx | 2 | ||||
-rw-r--r-- | sc/qa/unit/filters-test.cxx | 6 | ||||
-rw-r--r-- | sc/qa/unit/ucalc.cxx | 4 | ||||
-rw-r--r-- | sc/source/core/data/documen2.cxx | 2 | ||||
-rw-r--r-- | sc/source/core/data/document.cxx | 2 | ||||
-rw-r--r-- | sc/source/core/tool/rangenam.cxx | 25 | ||||
-rw-r--r-- | sc/source/core/tool/rangeutl.cxx | 9 | ||||
-rw-r--r-- | sc/source/filter/html/htmlimp.cxx | 4 | ||||
-rw-r--r-- | sc/source/filter/rtf/eeimpars.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/app/inputwin.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/docshell/arealink.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/docshell/docfunc.cxx | 6 | ||||
-rw-r--r-- | sc/source/ui/docshell/docsh4.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/docshell/impex.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/docshell/servobj.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/namedlg/namedlg.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/navipi/content.cxx | 4 | ||||
-rw-r--r-- | sc/source/ui/unoobj/nameuno.cxx | 10 | ||||
-rw-r--r-- | sc/source/ui/vba/vbarange.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/view/viewfunc.cxx | 2 |
20 files changed, 33 insertions, 59 deletions
diff --git a/sc/inc/rangenam.hxx b/sc/inc/rangenam.hxx index df161a1818b9..4214af3755af 100644 --- a/sc/inc/rangenam.hxx +++ b/sc/inc/rangenam.hxx @@ -202,8 +202,6 @@ public: SC_DLLPUBLIC ScRangeName(const ScRangeName& r); SC_DLLPUBLIC const ScRangeData* findByRange(const ScRange& rRange) const; - SC_DLLPUBLIC ScRangeData* findByName(const rtl::OUString& rName); - SC_DLLPUBLIC const ScRangeData* findByName(const rtl::OUString& rName) const; SC_DLLPUBLIC ScRangeData* findByUpperName(const rtl::OUString& rName); SC_DLLPUBLIC const ScRangeData* findByUpperName(const rtl::OUString& rName) const; SC_DLLPUBLIC ScRangeData* findByIndex(sal_uInt16 i); diff --git a/sc/qa/unit/filters-test.cxx b/sc/qa/unit/filters-test.cxx index cb99cd12fe20..587b71e2f550 100644 --- a/sc/qa/unit/filters-test.cxx +++ b/sc/qa/unit/filters-test.cxx @@ -341,16 +341,16 @@ void testRangeNameImpl(ScDocument* pDoc) { //check one range data per sheet and one global more detailed //add some more checks here - ScRangeData* pRangeData = pDoc->GetRangeName()->findByName(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Global1"))); + ScRangeData* pRangeData = pDoc->GetRangeName()->findByUpperName(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GLOBAL1"))); CPPUNIT_ASSERT_MESSAGE("range name Global1 not found", pRangeData); double aValue; pDoc->GetValue(1,0,0,aValue); CPPUNIT_ASSERT_MESSAGE("range name Global1 should reference Sheet1.A1", aValue == 1); - pRangeData = pDoc->GetRangeName(0)->findByName(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Local1"))); + pRangeData = pDoc->GetRangeName(0)->findByUpperName(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LOCAL1"))); CPPUNIT_ASSERT_MESSAGE("range name Sheet1.Local1 not found", pRangeData); pDoc->GetValue(1,2,0,aValue); CPPUNIT_ASSERT_MESSAGE("range name Sheet1.Local1 should reference Sheet1.A3", aValue == 3); - pRangeData = pDoc->GetRangeName(1)->findByName(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Local2"))); + pRangeData = pDoc->GetRangeName(1)->findByUpperName(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LOCAL2"))); CPPUNIT_ASSERT_MESSAGE("range name Sheet2.Local2 not found", pRangeData); pDoc->GetValue(1,1,1,aValue); CPPUNIT_ASSERT_MESSAGE("range name Sheet2.Local2 should reference Sheet2.A2", aValue == 7); diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx index d5111b221e13..9b0cbcc7962a 100644 --- a/sc/qa/unit/ucalc.cxx +++ b/sc/qa/unit/ucalc.cxx @@ -2709,12 +2709,12 @@ void Test::testCopyPaste() CPPUNIT_ASSERT_MESSAGE("copied value should be 1", aValue == 1); //chack local range name after copying - pLocal1 = m_pDoc->GetRangeName(1)->findByName(OUString(RTL_CONSTASCII_USTRINGPARAM("local1"))); + pLocal1 = m_pDoc->GetRangeName(1)->findByUpperName(OUString(RTL_CONSTASCII_USTRINGPARAM("LOCAL1"))); CPPUNIT_ASSERT_MESSAGE("local range name 1 should be copied", pLocal1); ScRange aRangeLocal1; pLocal1->IsValidReference(aRangeLocal1); CPPUNIT_ASSERT_MESSAGE("local range 1 should still point to Sheet1.A1",aRangeLocal1 == ScRange(0,0,0,0,0,0)); - pLocal2 = m_pDoc->GetRangeName(1)->findByName(OUString(RTL_CONSTASCII_USTRINGPARAM("local2"))); + pLocal2 = m_pDoc->GetRangeName(1)->findByUpperName(OUString(RTL_CONSTASCII_USTRINGPARAM("LOCAL2"))); CPPUNIT_ASSERT_MESSAGE("local2 should not be copied", pLocal2 == NULL); diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx index 5798f4d0b98d..94754e7c2f7d 100644 --- a/sc/source/core/data/documen2.cxx +++ b/sc/source/core/data/documen2.cxx @@ -996,7 +996,7 @@ sal_uLong ScDocument::TransferTab( ScDocument* pSrcDoc, SCTAB nSrcPos, bool bInUse = ( aUsedNames.find(nOldIndex) != aUsedNames.end() ); if (bInUse) { - const ScRangeData* pExistingData = GetRangeName()->findByName(itr->GetName()); + const ScRangeData* pExistingData = GetRangeName()->findByUpperName(itr->GetUpperName()); if (pExistingData) { // the name exists already in the destination document diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index de225f46ba7c..5a50aef4ac52 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -2121,7 +2121,7 @@ void ScDocument::CopyRangeNamesFromClip(ScDocument* pClipDoc, ScClipRangeNameDat A proper solution would ask the user how to proceed. The adjustment of the indices in the formulas is done later. */ - const ScRangeData* pExistingData = GetRangeName()->findByName(itr->GetName()); + const ScRangeData* pExistingData = GetRangeName()->findByUpperName(itr->GetUpperName()); if (pExistingData) { sal_uInt16 nOldIndex = itr->GetIndex(); diff --git a/sc/source/core/tool/rangenam.cxx b/sc/source/core/tool/rangenam.cxx index 69849842d134..1d2d99c8b6e2 100644 --- a/sc/source/core/tool/rangenam.cxx +++ b/sc/source/core/tool/rangenam.cxx @@ -735,17 +735,6 @@ public: } }; -class MatchByName : public unary_function<ScRangeData, bool> -{ - const OUString& mrName; -public: - MatchByName(const OUString& rName) : mrName(rName) {} - bool operator() (const ScRangeData& r) const - { - return mrName.equals(r.GetName()); - } -}; - class MatchByUpperName : public unary_function<ScRangeData, bool> { const OUString& mrName; @@ -813,20 +802,6 @@ const ScRangeData* ScRangeName::findByRange(const ScRange& rRange) const return itr == maData.end() ? NULL : &(*itr); } -ScRangeData* ScRangeName::findByName(const OUString& rName) -{ - DataType::iterator itr = std::find_if( - maData.begin(), maData.end(), MatchByName(rName)); - return itr == maData.end() ? NULL : &(*itr); -} - -const ScRangeData* ScRangeName::findByName(const OUString& rName) const -{ - DataType::const_iterator itr = std::find_if( - maData.begin(), maData.end(), MatchByName(rName)); - return itr == maData.end() ? NULL : &(*itr); -} - ScRangeData* ScRangeName::findByUpperName(const OUString& rName) { DataType::iterator itr = std::find_if( diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx index 2ced67b341b2..ab9ebcf905d3 100644 --- a/sc/source/core/tool/rangeutl.cxx +++ b/sc/source/core/tool/rangeutl.cxx @@ -307,9 +307,9 @@ sal_Bool ScRangeUtil::MakeRangeFromName ( ScRangeName* pRangeNames = pDoc->GetRangeName( nTable ); ScRangeData* pData = NULL; if ( pRangeNames ) - pData = pRangeNames->findByName(aName); + pData = pRangeNames->findByUpperName(ScGlobal::pCharClass->upper(aName)); if (!pData) - pData = pDoc->GetRangeName()->findByName(aName); + pData = pDoc->GetRangeName()->findByUpperName(ScGlobal::pCharClass->upper(aName)); if (pData) { String aStrArea; @@ -1021,16 +1021,17 @@ ScRangeData* ScRangeStringConverter::GetRangeDataFromString(const rtl::OUString& { ScRangeName* pLocalRangeName = pDoc->GetRangeName(nTab); ScRangeData* pData = NULL; + rtl::OUString aUpperName = ScGlobal::pCharClass->upper(rString); if(pLocalRangeName) { - pData = pLocalRangeName->findByName(rString); + pData = pLocalRangeName->findByUpperName(aUpperName); } if (!pData) { ScRangeName* pGlobalRangeName = pDoc->GetRangeName(); if (pGlobalRangeName) { - pData = pGlobalRangeName->findByName(rString); + pData = pGlobalRangeName->findByUpperName(aUpperName); } } return pData; diff --git a/sc/source/filter/html/htmlimp.cxx b/sc/source/filter/html/htmlimp.cxx index 52eb9de3528d..86ed840696ad 100644 --- a/sc/source/filter/html/htmlimp.cxx +++ b/sc/source/filter/html/htmlimp.cxx @@ -208,7 +208,7 @@ void ScHTMLImport::WriteToDocument( if (!pTable->GetTableName().isEmpty()) { String aName( ScfTools::GetNameFromHTMLName( pTable->GetTableName() ) ); - if (!mpDoc->GetRangeName()->findByName(aName)) + if (!mpDoc->GetRangeName()->findByUpperName(ScGlobal::pCharClass->upper(aName))) InsertRangeName( mpDoc, aName, aNewRange ); } } @@ -238,7 +238,7 @@ String ScHTMLImport::GetHTMLRangeNameList( ScDocument* pDoc, const String& rOrig while( bLoop ) { aToken = ScfTools::GetNameFromHTMLIndex( nIndex++ ); - const ScRangeData* pRangeData = pRangeNames->findByName(aToken); + const ScRangeData* pRangeData = pRangeNames->findByUpperName(ScGlobal::pCharClass->upper(aToken)); if (pRangeData) { ScRange aRange; diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx index e849138e8452..983e88c44abb 100644 --- a/sc/source/filter/rtf/eeimpars.cxx +++ b/sc/source/filter/rtf/eeimpars.cxx @@ -420,7 +420,7 @@ void ScEEImport::WriteToDocument( sal_Bool bSizeColsRows, double nOutputFactor, bHasGraphics |= GraphicSize( nCol, nRow, nTab, pE ); if ( pE->pName ) { // Anchor Name => RangeName - if (!pRangeNames->findByName(*pE->pName)) + if (!pRangeNames->findByUpperName(ScGlobal::pCharClass->upper(*pE->pName))) { ScRangeData* pData = new ScRangeData( mpDoc, *pE->pName, ScAddress( nCol, nRow, nTab ) ); diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index 5782611fd9c7..82d9253f56d4 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -2240,7 +2240,7 @@ void ScPosWnd::DoEnter() { ScRangeName* pNames = pDoc->GetRangeName(); ScRange aSelection; - if ( pNames && !pNames->findByName(aText) && + if ( pNames && !pNames->findByUpperName(ScGlobal::pCharClass->upper(aText)) && (pViewData->GetSimpleArea( aSelection ) == SC_MARK_SIMPLE) ) { ScRangeName aNewRanges( *pNames ); diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx index 1fe0b9887c69..df2f9b646788 100644 --- a/sc/source/ui/docshell/arealink.cxx +++ b/sc/source/ui/docshell/arealink.cxx @@ -216,7 +216,7 @@ bool ScAreaLink::FindExtRange( ScRange& rRange, ScDocument* pSrcDoc, const Strin ScRangeName* pNames = pSrcDoc->GetRangeName(); if (pNames) // benannte Bereiche { - const ScRangeData* p = pNames->findByName(rAreaName); + const ScRangeData* p = pNames->findByUpperName(ScGlobal::pCharClass->upper(rAreaName)); if (p && p->IsValidReference(rRange)) bFound = true; } diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index 739b973861c3..0d8a406d9466 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -4575,7 +4575,7 @@ void ScDocFunc::CreateOneName( ScRangeName& rList, ScRange( nX1, nY1, nTab, nX2, nY2, nTab ).Format( aContent, SCR_ABS_3D, pDoc ); bool bInsert = false; - ScRangeData* pOld = rList.findByName(aName); + ScRangeData* pOld = rList.findByUpperName(ScGlobal::pCharClass->upper(aName)); if (pOld) { String aOldStr; @@ -4738,7 +4738,7 @@ sal_Bool ScDocFunc::InsertNameList( const ScAddress& rStartPos, sal_Bool bApi ) for (ScRangeName::iterator itr = itrBeg; itr != itrEnd; ++itr) { const ScRangeData& r = *itr; - if (!r.HasType(RT_DATABASE) && !r.HasType(RT_SHARED) && !pLocalList->findByName(r.GetName())) + if (!r.HasType(RT_DATABASE) && !r.HasType(RT_SHARED) && !pLocalList->findByUpperName(r.GetUpperName())) ++nValidCount; } @@ -4773,7 +4773,7 @@ sal_Bool ScDocFunc::InsertNameList( const ScAddress& rStartPos, sal_Bool bApi ) for (ScRangeName::iterator itr = itrBeg; itr != itrEnd; ++itr) { ScRangeData& r = *itr; - if (!r.HasType(RT_DATABASE) && !r.HasType(RT_SHARED) && !pLocalList->findByName(r.GetName())) + if (!r.HasType(RT_DATABASE) && !r.HasType(RT_SHARED) && !pLocalList->findByUpperName(r.GetUpperName())) ppSortArray[j++] = &r; } #ifndef ICC diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx index 8bd4782ad69e..9f6186a7c909 100644 --- a/sc/source/ui/docshell/docsh4.cxx +++ b/sc/source/ui/docshell/docsh4.cxx @@ -2107,7 +2107,7 @@ long ScDocShell::DdeSetData( const String& rItem, ScRangeName* pRange = aDocument.GetRangeName(); if( pRange ) { - const ScRangeData* pData = pRange->findByName(aPos); + const ScRangeData* pData = pRange->findByUpperName(ScGlobal::pCharClass->upper(aPos)); if (pData) { if( pData->HasType( RT_REFAREA ) diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx index 712f696b4f30..a10affc84d5b 100644 --- a/sc/source/ui/docshell/impex.cxx +++ b/sc/source/ui/docshell/impex.cxx @@ -173,7 +173,7 @@ ScImportExport::ScImportExport( ScDocument* p, const String& rPos ) ScRangeName* pRange = pDoc->GetRangeName(); if( pRange ) { - const ScRangeData* pData = pRange->findByName(aPos); + const ScRangeData* pData = pRange->findByUpperName(ScGlobal::pCharClass->upper(aPos)); if (pData) { if( pData->HasType( RT_REFAREA ) diff --git a/sc/source/ui/docshell/servobj.cxx b/sc/source/ui/docshell/servobj.cxx index d5422549fd32..90c497ea6688 100644 --- a/sc/source/ui/docshell/servobj.cxx +++ b/sc/source/ui/docshell/servobj.cxx @@ -54,7 +54,7 @@ sal_Bool lcl_FillRangeFromName( ScRange& rRange, ScDocShell* pDocSh, const Strin ScRangeName* pNames = pDoc->GetRangeName(); if (pNames) { - const ScRangeData* pData = pNames->findByName(rName); + const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->upper(rName)); if (pData) { if ( pData->IsValidReference( rRange ) ) diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx index 202eb82bf20b..ef567e57cdf5 100644 --- a/sc/source/ui/namedlg/namedlg.cxx +++ b/sc/source/ui/namedlg/namedlg.cxx @@ -317,7 +317,7 @@ void ScNameDlg::CalcCurTableAssign( String& aAssign, ScRangeData* pRangeData ) void ScNameDlg::ShowOptions(const ScRangeNameLine& rLine) { ScRangeName* pRangeName = GetRangeName(rLine.aScope); - ScRangeData* pData = pRangeName->findByName(rLine.aName); + ScRangeData* pData = pRangeName->findByUpperName(ScGlobal::pCharClass->upper(rLine.aName)); if (pData) { UpdateChecks(pData); diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx index bd32d1c50d57..bc9280a39fe0 100644 --- a/sc/source/ui/navipi/content.cxx +++ b/sc/source/ui/navipi/content.cxx @@ -1017,7 +1017,7 @@ bool lcl_GetRange( ScDocument* pDoc, sal_uInt16 nType, const String& rName, ScRa ScRangeName* pList = pDoc->GetRangeName(); if (pList) { - const ScRangeData* p = pList->findByName(rName); + const ScRangeData* p = pList->findByUpperName(ScGlobal::pCharClass->upper(rName)); if (p && p->IsValidReference(rRange)) bFound = true; } @@ -1027,7 +1027,7 @@ bool lcl_GetRange( ScDocument* pDoc, sal_uInt16 nType, const String& rName, ScRa ScDBCollection* pList = pDoc->GetDBCollection(); if (pList) { - const ScDBData* p = pList->getNamedDBs().findByName(rName); + const ScDBData* p = pList->getNamedDBs().findByUpperName(ScGlobal::pCharClass->upper(rName)); if (p) { SCTAB nTab; diff --git a/sc/source/ui/unoobj/nameuno.cxx b/sc/source/ui/unoobj/nameuno.cxx index ab23b19e511e..3210c8143978 100644 --- a/sc/source/ui/unoobj/nameuno.cxx +++ b/sc/source/ui/unoobj/nameuno.cxx @@ -137,7 +137,7 @@ ScRangeData* ScNamedRangeObj::GetRangeData_Impl() pNames = pDocShell->GetDocument()->GetRangeName(); if (pNames) { - pRet = pNames->findByName(aName); + pRet = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName)); if (pRet) pRet->ValidateTabRefs(); // adjust relative tab refs to valid tables } @@ -180,7 +180,7 @@ void ScNamedRangeObj::Modify_Impl( const String* pNewName, const ScTokenArray* p if (!pNames) return; - const ScRangeData* pOld = pNames->findByName(aName); + const ScRangeData* pOld = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName)); if (!pOld) return; @@ -556,7 +556,7 @@ void SAL_CALL ScNamedRangesObj::addNewByName( const rtl::OUString& aName, { ScDocument* pDoc = pDocShell->GetDocument(); ScRangeName* pNames = GetRangeName_Impl(); - if (pNames && !pNames->findByName(aName)) + if (pNames && !pNames->findByUpperName(ScGlobal::pCharClass->upper(aName))) { ScRangeName* pNewRanges = new ScRangeName( *pNames ); // GRAM_PODF_A1 for API compatibility. @@ -617,7 +617,7 @@ void SAL_CALL ScNamedRangesObj::removeByName( const rtl::OUString& aName ) ScRangeName* pNames = GetRangeName_Impl(); if (pNames) { - const ScRangeData* pData = pNames->findByName(aName); + const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName)); if (pData && lcl_UserVisibleName(*pData)) { ScRangeName* pNewRanges = new ScRangeName(*pNames); @@ -779,7 +779,7 @@ sal_Bool SAL_CALL ScNamedRangesObj::hasByName( const rtl::OUString& aName ) ScRangeName* pNames = GetRangeName_Impl(); if (pNames) { - const ScRangeData* pData = pNames->findByName(aName); + const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName)); if (pData && lcl_UserVisibleName(*pData)) return sal_True; } diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx index 58518266c1f1..35df42ab5f77 100644 --- a/sc/source/ui/vba/vbarange.cxx +++ b/sc/source/ui/vba/vbarange.cxx @@ -1184,7 +1184,7 @@ bool getScRangeListForAddress( const rtl::OUString& sName, ScDocShell* pDocSh, S ScRangeName* pRangeName = pDoc->GetRangeName(nCurTab); if (pRangeName) { - bLocalName = pRangeName->findByName(sAddress) != NULL; + bLocalName = pRangeName->findByUpperName(ScGlobal::pCharClass->upper(sAddress)) != NULL; // TODO: Handle local names correctly. (void)bLocalName; } diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index cb767b79a505..9cc13af17444 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -2928,7 +2928,7 @@ sal_Bool ScViewFunc::InsertName( const String& rName, const String& rSymbol, pDoc->CompileNameFormula( sal_True ); // CreateFormulaString // input available yet? Then remove beforehand (=change) - ScRangeData* pData = pList->findByName(rName); + ScRangeData* pData = pList->findByUpperName(ScGlobal::pCharClass->upper(rName)); if (pData) { // take old Index pNewEntry->SetIndex(pData->GetIndex()); |