summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/NumberingManager.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-07-05 14:29:11 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-07-10 12:31:43 +0200
commit0fb5ca6cc9cc55a4436a36c533461769b1fc8526 (patch)
tree30e21bfcb0a6ad46f52a4e664728753c03d7a837 /writerfilter/source/dmapper/NumberingManager.cxx
parent1a33947a91685808fd5f6d4903b6ae896686066d (diff)
tdf#79877 perf loading docx file, writerfilter/ improvements
this improves load time by 20%. We switch from shared_ptr to tools::SvRef to manage the objects I noticed some double inheritance like this: DomainMapper LoggedProperties Properties SvRefBase LoggedTable Table SvRefBase so to be safe I made all the ref-count-base-class inheritance virtual. Change-Id: Ia3de9733f5c6966e8171f43d083dcc087040b8cd Reviewed-on: https://gerrit.libreoffice.org/57022 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'writerfilter/source/dmapper/NumberingManager.cxx')
-rw-r--r--writerfilter/source/dmapper/NumberingManager.cxx10
1 files changed, 5 insertions, 5 deletions
diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx
index c717a9af3898..5defd92f0d49 100644
--- a/writerfilter/source/dmapper/NumberingManager.cxx
+++ b/writerfilter/source/dmapper/NumberingManager.cxx
@@ -129,7 +129,7 @@ bool ListLevel::HasValues() const
return m_bHasValues;
}
-void ListLevel::SetParaStyle( const std::shared_ptr< StyleSheetEntry >& pStyle )
+void ListLevel::SetParaStyle( const tools::SvRef< StyleSheetEntry >& pStyle )
{
if (!pStyle)
return;
@@ -821,7 +821,7 @@ void ListsManager::lcl_sprm( Sprm& rSprm )
{
//create a new Abstract list entry
OSL_ENSURE( !m_pCurrentDefinition.get(), "current entry has to be NULL here");
- m_pCurrentDefinition.reset( new AbstractListDef );
+ m_pCurrentDefinition = new AbstractListDef;
pProperties->resolve( *this );
//append it to the table
m_aAbstractLists.push_back( m_pCurrentDefinition );
@@ -837,7 +837,7 @@ void ListsManager::lcl_sprm( Sprm& rSprm )
// Create a new list entry
OSL_ENSURE( !m_pCurrentDefinition.get(), "current entry has to be NULL here");
ListDef::Pointer listDef( new ListDef );
- m_pCurrentDefinition = listDef;
+ m_pCurrentDefinition = listDef.get();
pProperties->resolve( *this );
//append it to the table
m_aLists.push_back( listDef );
@@ -1088,7 +1088,7 @@ void ListsManager::lcl_sprm( Sprm& rSprm )
default:
if (ListLevel::Pointer pCurrentLevel = m_pCurrentDefinition->GetCurrentLevel())
{
- m_rDMapper.PushListProperties(pCurrentLevel);
+ m_rDMapper.PushListProperties(pCurrentLevel.get());
m_rDMapper.sprm( rSprm );
m_rDMapper.PopListProperties();
}
@@ -1107,7 +1107,7 @@ void ListsManager::lcl_entry( int /* pos */,
{
// Create AbstractListDef's
OSL_ENSURE( !m_pCurrentDefinition.get(), "current entry has to be NULL here");
- m_pCurrentDefinition.reset( new AbstractListDef( ) );
+ m_pCurrentDefinition = new AbstractListDef( );
ref->resolve(*this);
//append it to the table
m_aAbstractLists.push_back( m_pCurrentDefinition );