Kaydet (Commit) 7732f806 authored tarafından Michael Meeks's avatar Michael Meeks

ODS load perf: avoid excessive calls to uppercase to compare tab names.

Change-Id: I37b9e49607c8c51f10bc8ff8fc342b02fdb8b7e1
üst 85dc3889
...@@ -237,7 +237,16 @@ bool ScDocument::GetCodeName( SCTAB nTab, OUString& rName ) const ...@@ -237,7 +237,16 @@ bool ScDocument::GetCodeName( SCTAB nTab, OUString& rName ) const
bool ScDocument::GetTable( const OUString& rName, SCTAB& rTab ) const bool ScDocument::GetTable( const OUString& rName, SCTAB& rTab ) const
{ {
OUString aUpperName = ScGlobal::pCharClass->uppercase(rName); OUString aUpperName;
static OUString aCacheName, aCacheUpperName;
if (aCacheName != rName)
{
aCacheName = rName;
// surprisingly slow ...
aCacheUpperName = ScGlobal::pCharClass->uppercase(rName);
}
aUpperName = aCacheUpperName;
for (SCTAB i=0; i< static_cast<SCTAB>(maTabs.size()); i++) for (SCTAB i=0; i< static_cast<SCTAB>(maTabs.size()); i++)
if (maTabs[i]) if (maTabs[i])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment