[Libreoffice-commits] .: Branch 'distro/suse/suse-3.6' - sc/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Nov 21 03:11:53 PST 2012


 sc/source/core/data/dpcache.cxx |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 5404bf540296d3a24d13b705d0dc2233e8070036
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Thu Nov 8 16:09:11 2012 -0500

    fdo#54898: Test equality by order index (integer) which is more stable.
    
    At the point where std::unique is called, we can use order indices to
    determine whether the two items are equal. This should be more stable
    than using CaseInsEqual() to assess equality.
    
    Change-Id: I88310fc7beede19fb1c629b9b7e3cb9a069b2b23
    Reviewed-on: https://gerrit.libreoffice.org/1013
    Reviewed-by: Tor Lillqvist <tml at iki.fi>
    Tested-by: Tor Lillqvist <tml at iki.fi>

diff --git a/sc/source/core/data/dpcache.cxx b/sc/source/core/data/dpcache.cxx
index c754fba..1fbddfc 100644
--- a/sc/source/core/data/dpcache.cxx
+++ b/sc/source/core/data/dpcache.cxx
@@ -279,11 +279,11 @@ struct LessByDataIndex : std::binary_function<Bucket, Bucket, bool>
     }
 };
 
-struct EqualByValue : std::binary_function<Bucket, Bucket, bool>
+struct EqualByOrderIndex : std::binary_function<Bucket, Bucket, bool>
 {
     bool operator() (const Bucket& left, const Bucket& right) const
     {
-        return left.maValue.IsCaseInsEqual(right.maValue);
+        return left.mnOrderIndex == right.mnOrderIndex;
     }
 };
 
@@ -359,7 +359,7 @@ void processBuckets(std::vector<Bucket>& aBuckets, ScDPCache::Field& rField)
 
     // Unique by value.
     std::vector<Bucket>::iterator itUniqueEnd =
-        std::unique(aBuckets.begin(), aBuckets.end(), EqualByValue());
+        std::unique(aBuckets.begin(), aBuckets.end(), EqualByOrderIndex());
 
     // Copy the unique values into items.
     std::vector<Bucket>::iterator itBeg = aBuckets.begin();


More information about the Libreoffice-commits mailing list