summaryrefslogtreecommitdiff
path: root/writerfilter/source
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2021-04-30 13:25:54 +0200
committerJustin Luth <justin_luth@sil.org>2021-07-09 07:24:16 +0200
commita45876adc36a3764cfeadb1737e5dcfb7ffee9da (patch)
tree0ecc41d67867d4b47a79065b05a17fd90b41e156 /writerfilter/source
parent92a407b7f90a98704a238c5ffa3a3491eaf3263a (diff)
tdf#141964 writerfilter CN: listLevel 9 means no numbering
and so does numId 0. Wow - this is REALLY FUNDAMENTAL stuff, and we weren't handling it? Did anyone look at any of the specs when they were implementing import of numbering? Change-Id: I3ea20baccfae34751328558a873ccdcfda0de0a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115258 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org>
Diffstat (limited to 'writerfilter/source')
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 74550ec80245..01ea5230ecfa 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1548,14 +1548,15 @@ void DomainMapper_Impl::finishParagraph( const PropertyMapPtr& pPropertyMap, con
if (nListLevel == -1 && nListId > 0)
nListLevel = 0;
- if ( !bNoNumbering && !isNumberingViaRule && nListLevel >= 0 )
+ if (!bNoNumbering && !isNumberingViaRule && nListLevel >= 0 && nListLevel < 9)
pParaContext->Insert( PROP_NUMBERING_LEVEL, uno::makeAny(nListLevel), false );
auto const pList(GetListTable()->GetList(nListId));
if (pList && nListId >= 0 && !pParaContext->isSet(PROP_NUMBERING_STYLE_NAME))
{
- if ( bNoNumbering )
- pParaContext->Insert( PROP_NUMBERING_STYLE_NAME, uno::makeAny(OUString()) );
+ // ListLevel 9 means Body Level/no numbering. numId 0 means no numbering.
+ if (bNoNumbering || nListLevel == 9 || (!isNumberingViaRule && !nListId))
+ pParaContext->Insert(PROP_NUMBERING_STYLE_NAME, uno::makeAny(OUString()), true);
else if ( !isNumberingViaRule )
{
isNumberingViaStyle = true;