diff options
author | Vasily Melenchuk <vasily.melenchuk@cib.de> | 2022-03-10 12:04:20 +0300 |
---|---|---|
committer | Thorsten Behrens <thorsten.behrens@allotropia.de> | 2022-03-16 04:42:59 +0100 |
commit | f50a8f1d8852bfc143809dc5d45ef662d3557a61 (patch) | |
tree | 8595c28994bb907b44c5862527b6059ecec214fe /writerfilter | |
parent | 31eca81bd03f012f0581480dd6f581a0185e3ff5 (diff) |
tdf#146851: writerfilter: do not recreate list levels on override
AddLevel() can be called on w:lvl and on w:lvlOverride. But if
we have level override and some extra level definition level is
recreated and override information is lost.
Change-Id: I6f1b9b50bdd3410b4ae2d403e760e4d6df5677d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131304
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/NumberingManager.cxx | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx index 8829aa52697f..1c79e0eece99 100644 --- a/writerfilter/source/dmapper/NumberingManager.cxx +++ b/writerfilter/source/dmapper/NumberingManager.cxx @@ -371,9 +371,12 @@ void AbstractListDef::AddLevel( sal_uInt16 nLvl ) if ( nLvl >= m_aLevels.size() ) m_aLevels.resize( nLvl+1 ); - ListLevel::Pointer pLevel( new ListLevel ); - m_pCurrentLevel = pLevel; - m_aLevels[nLvl] = pLevel; + if (!m_aLevels[nLvl]) + { + m_aLevels[nLvl] = new ListLevel; + } + + m_pCurrentLevel = m_aLevels[nLvl]; } uno::Sequence<uno::Sequence<beans::PropertyValue>> AbstractListDef::GetPropertyValues(bool bDefaults) |