summaryrefslogtreecommitdiff
path: root/sc/source/core/data/dpobject.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/core/data/dpobject.cxx')
-rw-r--r--sc/source/core/data/dpobject.cxx12
1 files changed, 7 insertions, 5 deletions
diff --git a/sc/source/core/data/dpobject.cxx b/sc/source/core/data/dpobject.cxx
index 3d9f5af641fb..f9344aae4561 100644
--- a/sc/source/core/data/dpobject.cxx
+++ b/sc/source/core/data/dpobject.cxx
@@ -1321,24 +1321,24 @@ namespace {
class FindByName : std::unary_function<const ScDPSaveDimension*, bool>
{
- OUString maName;
+ OUString maName; // must be all uppercase.
public:
FindByName(const OUString& rName) : maName(rName) {}
bool operator() (const ScDPSaveDimension* pDim) const
{
// Layout name takes precedence.
const OUString* pLayoutName = pDim->GetLayoutName();
- if (pLayoutName && *pLayoutName == maName)
+ if (pLayoutName && ScGlobal::pCharClass->uppercase(*pLayoutName) == maName)
return true;
sheet::GeneralFunction eGenFunc = static_cast<sheet::GeneralFunction>(pDim->GetFunction());
ScSubTotalFunc eFunc = ScDPUtil::toSubTotalFunc(eGenFunc);
OUString aSrcName = ScDPUtil::getSourceDimensionName(pDim->GetName());
OUString aFuncName = ScDPUtil::getDisplayedMeasureName(aSrcName, eFunc);
- if (maName == aFuncName)
+ if (maName == ScGlobal::pCharClass->uppercase(aFuncName))
return true;
- return maName == aSrcName;
+ return maName == ScGlobal::pCharClass->uppercase(aSrcName);
}
};
@@ -1382,7 +1382,9 @@ double ScDPObject::GetPivotData(const OUString& rDataFieldName, std::vector<shee
return fRet;
std::vector<const ScDPSaveDimension*>::iterator it = std::find_if(
- aDataDims.begin(), aDataDims.end(), FindByName(rDataFieldName));
+ aDataDims.begin(), aDataDims.end(),
+ FindByName(ScGlobal::pCharClass->uppercase(rDataFieldName)));
+
if (it == aDataDims.end())
return fRet;