Kaydet (Commit) 1afd1e5c authored tarafından Kohei Yoshida's avatar Kohei Yoshida

fdo#53929: Pivot table uses case insensitive string comparison.

Change-Id: I65fa22ceeba37a15b70fe41b1dee26f1dde7d759
üst 44dcb37b
......@@ -195,7 +195,7 @@ struct EqualByValue : std::binary_function<Bucket, Bucket, bool>
{
bool operator() (const Bucket& left, const Bucket& right) const
{
return left.maValue == right.maValue;
return left.maValue.IsCaseInsEqual(right.maValue);
}
};
......@@ -251,7 +251,7 @@ void processBuckets(std::vector<Bucket>& aBuckets, ScDPCache::Field& rField)
it->mnOrderIndex = nCurIndex;
for (++it; it != itEnd; ++it)
{
if (aPrev != it->maValue)
if (!aPrev.IsCaseInsEqual(it->maValue))
++nCurIndex;
it->mnOrderIndex = nCurIndex;
......
......@@ -210,8 +210,9 @@ bool ScDPItemData::IsCaseInsEqual(const ScDPItemData& r) const
;
}
if (mbStringInterned && r.mbStringInterned)
return mpString == r.mpString;
if (mbStringInterned && r.mbStringInterned && mpString == r.mpString)
// Fast equality check for interned strings.
return true;
return ScGlobal::GetpTransliteration()->isEqual(GetString(), r.GetString());
}
......
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