summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorVasily Melenchuk <vasily.melenchuk@cib.de>2022-03-10 12:04:20 +0300
committerThorsten Behrens <thorsten.behrens@allotropia.de>2022-03-16 04:42:59 +0100
commitf50a8f1d8852bfc143809dc5d45ef662d3557a61 (patch)
tree8595c28994bb907b44c5862527b6059ecec214fe /writerfilter
parent31eca81bd03f012f0581480dd6f581a0185e3ff5 (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.cxx9
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)