diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-05-30 15:01:39 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-05-31 08:21:31 +0200 |
commit | 9ff648c691f003a11eba9a22ac37032d72b4b642 (patch) | |
tree | 1cc0c0cc4509d51a1fd0b7b94415646eea588847 /sw/inc | |
parent | 65cdb6243f9d849d04c2ca6390a36cd9fa98b421 (diff) |
tdf#125372 writer, file with lots of hints very slow to open, part8
Takes load time from 22s to 15.5s
sw::mark::IMark does not need to be held by shared_ptr - we have one
vector, which holds all marks we created, and when we remove from that
vector, which remove the other references too.
Change-Id: Ie6d287d9d825f7129855b64a34afa81a2ef9c378
Reviewed-on: https://gerrit.libreoffice.org/73206
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw/inc')
-rw-r--r-- | sw/inc/IDocumentMarkAccess.hxx | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sw/inc/IDocumentMarkAccess.hxx b/sw/inc/IDocumentMarkAccess.hxx index 19431c67a343..cbdaa7b35233 100644 --- a/sw/inc/IDocumentMarkAccess.hxx +++ b/sw/inc/IDocumentMarkAccess.hxx @@ -52,8 +52,7 @@ class IDocumentMarkAccess NAVIGATOR_REMINDER }; - typedef std::shared_ptr< ::sw::mark::IMark> pMark_t; - typedef std::vector< pMark_t > container_t; + typedef std::vector< ::sw::mark::IMark* > container_t; typedef container_t::iterator iterator_t; typedef container_t::const_iterator const_iterator_t; typedef container_t::const_reverse_iterator const_reverse_iterator_t; @@ -184,7 +183,7 @@ class IDocumentMarkAccess @param ppMark [in] an iterator pointing to the Mark to be deleted. */ - virtual std::shared_ptr<ILazyDeleter> + virtual std::unique_ptr<ILazyDeleter> deleteMark(const IDocumentMarkAccess::const_iterator_t& ppMark) =0; /** Deletes a mark. |