sw/source/filter/ww8/docxattributeoutput.cxx | 13 ------------- sw/source/filter/ww8/ww8atr.cxx | 9 +++++++++ 2 files changed, 9 insertions(+), 13 deletions(-)
New commits: commit f76f2fc99dcb4a6a250835ec1d52e7c3f6a73321 Author: Justin Luth <justin_l...@sil.org> AuthorDate: Fri Sep 10 16:48:47 2021 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Mon Sep 13 08:53:08 2021 +0200 tdf#137363 DOC export: don't lose sprmPIlvl of para style Move the DOCX code so that it provides the style's level to all three formats. (RTF just returns when no text node, so there is no impact in that case). Change-Id: Iadeb3e6d9f4e3f0d86222cb3f6bfef84d87d87f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121909 Tested-by: Justin Luth <justin_l...@sil.org> Reviewed-by: Justin Luth <justin_l...@sil.org> Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index d4067db3703b..c2aa3880ece0 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -8829,19 +8829,6 @@ void DocxAttributeOutput::ParaNumRule_Impl( const SwTextNode* pTextNd, sal_Int32 return; } - if (!pTextNd && nLvl == 0) - { - // This is a paragraph style and the level would be zero. Then see if the importer set a - // custom numbering level. - const SfxItemSet* pSet = m_rExport.m_pISet; - if (pSet && pSet->HasItem(RES_PARATR_LIST_LEVEL)) - { - // It did, so use that level. - const SfxPoolItem* pItem = pSet->GetItem(RES_PARATR_LIST_LEVEL); - nLvl = pItem->StaticWhichCast(RES_PARATR_LIST_LEVEL).GetValue(); - } - } - m_pSerializer->startElementNS(XML_w, XML_numPr); m_pSerializer->singleElementNS(XML_w, XML_ilvl, FSNS(XML_w, XML_val), OString::number(nLvl)); m_pSerializer->singleElementNS(XML_w, XML_numId, FSNS(XML_w, XML_val), OString::number(nNumId)); diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx index 0783784cce46..8d5710e2b1cd 100644 --- a/sw/source/filter/ww8/ww8atr.cxx +++ b/sw/source/filter/ww8/ww8atr.cxx @@ -3745,6 +3745,15 @@ void AttributeOutputBase::ParaNumRule( const SwNumRuleItem& rNumRule ) { if ( pC && pC->IsAssignedToListLevelOfOutlineStyle() ) nLvl = static_cast< sal_uInt8 >( pC->GetAssignedOutlineStyleLevel() ); + else + { + const SfxItemSet* pSet = GetExport().m_pISet; + if (pSet && pSet->HasItem(RES_PARATR_LIST_LEVEL)) + { + const SfxPoolItem* pItem = pSet->GetItem(RES_PARATR_LIST_LEVEL); + nLvl = pItem->StaticWhichCast(RES_PARATR_LIST_LEVEL).GetValue(); + } + } } if ( nLvl >= WW8ListManager::nMaxLevel )