diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-04-26 18:59:17 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-04-29 08:30:00 +0200 |
commit | 24503d5ddfc0a83ac88aa23d03b69ed47f989e8e (patch) | |
tree | 39683a5df5964b1f6b03e16f574e7ca4e34440ee /svl | |
parent | c4d8b4ecd82fde107d12f6b606bcbd023cfdd7cb (diff) |
tdf#63640 FILEOPEN/FILESAVE: particular .odt loads/saves very slow, part1
Make CntUnencodedStringItem sortable, implementing operator<.
This takes the load time from 4s to 3.3s
Change-Id: I532cdf65149a733d41d2caf367675800d2ba4d41
Reviewed-on: https://gerrit.libreoffice.org/71460
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svl')
-rw-r--r-- | svl/source/items/custritm.cxx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/svl/source/items/custritm.cxx b/svl/source/items/custritm.cxx index b1324567ecbf..4cba9175d001 100644 --- a/svl/source/items/custritm.cxx +++ b/svl/source/items/custritm.cxx @@ -28,13 +28,20 @@ // virtual bool CntUnencodedStringItem::operator ==(const SfxPoolItem & rItem) const { - DBG_ASSERT(dynamic_cast<const CntUnencodedStringItem*>( &rItem ) != nullptr, - "CntUnencodedStringItem::operator ==(): Bad type"); + assert(dynamic_cast<const CntUnencodedStringItem*>( &rItem )); return m_aValue == static_cast< const CntUnencodedStringItem * >(&rItem)-> m_aValue; } +bool CntUnencodedStringItem::operator<(const SfxPoolItem & rItem) const +{ + assert(dynamic_cast<const CntUnencodedStringItem*>( &rItem )); + return m_aValue + < static_cast< const CntUnencodedStringItem * >(&rItem)-> + m_aValue; +} + // virtual bool CntUnencodedStringItem::GetPresentation(SfxItemPresentation, MapUnit, MapUnit, OUString & rText, |