diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-05-11 09:00:32 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-05-13 13:23:00 +0200 |
commit | 349919440b1454eda2de783a0c3e6bd3bae4542b (patch) | |
tree | b342e251509c1dc7fbee7971b98e21362b83b9af /comphelper | |
parent | b2fc2ad7beceaff660de684435a5c37d69cf8ae9 (diff) |
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.cxx | 11 |
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 |