summaryrefslogtreecommitdiffstats
path: root/comphelper
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-05-11 09:00:32 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-05-13 13:23:00 +0200
commit349919440b1454eda2de783a0c3e6bd3bae4542b (patch)
treeb342e251509c1dc7fbee7971b98e21362b83b9af /comphelper
parenttdf#100084 XLSX import: fix missing charts (diff)
downloadcore-349919440b1454eda2de783a0c3e6bd3bae4542b.tar.gz
core-349919440b1454eda2de783a0c3e6bd3bae4542b.zip
tdf#107592 Impress PPS save to ODP slow
Takes the time from 20s to 5s on my PC. Change-Id: Iea7a94ee9fbe068b69a770fd9201e73646be59b9 Reviewed-on: https://gerrit.libreoffice.org/72140 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'comphelper')
-rw-r--r--comphelper/source/misc/anycompare.cxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/comphelper/source/misc/anycompare.cxx b/comphelper/source/misc/anycompare.cxx
index 5a7859514ac9..f4d2a8b5d260 100644
--- a/comphelper/source/misc/anycompare.cxx
+++ b/comphelper/source/misc/anycompare.cxx
@@ -226,6 +226,17 @@ namespace comphelper
return pComparator;
}
+ bool anyLess( css::uno::Any const & lhs, css::uno::Any const & rhs)
+ {
+ auto lhsTypeClass = lhs.getValueType().getTypeClass();
+ auto rhsTypeClass = rhs.getValueType().getTypeClass();
+ if (lhsTypeClass != rhsTypeClass)
+ return lhsTypeClass < rhsTypeClass;
+ std::unique_ptr< IKeyPredicateLess > pred = getStandardLessPredicate( lhs.getValueType(), Reference< XCollator >() );
+ if (!pred) // type==VOID
+ return false;
+ return pred->isLess(lhs, rhs);
+ }
} // namespace comphelper