oox/source/export/drawingml.cxx |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit f6e493a828031a71ffab2cb7b5168d9ab5a35baa
Author:     Michael Meeks <[email protected]>
AuthorDate: Mon Oct 6 14:57:02 2025 +0100
Commit:     Michael Meeks <[email protected]>
CommitDate: Wed Oct 8 14:11:42 2025 +0200

    oox: crop ST_TextIndentLevelType to maximum value of 8.
    
    Signed-off-by: Michael Meeks <[email protected]>
    Change-Id: I5994b4414a4ef79564a44a8a661498765fd4b125
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191980
    Tested-by: Jenkins

diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 37483dd8e536..61fd5caf3ebe 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -3597,18 +3597,21 @@ bool DrawingML::WriteParagraphProperties(const 
Reference<XTextContent>& rParagra
     if (GetProperty(rXPropSet, u"ParaTabStopDefaultDistance"_ustr))
         mAny >>= nParaDefaultTabSize;
 
+    // ST_TextIndentLevelType
+    const sal_Int16 nOutLevel = std::min(nLevel, sal_Int16(8));
+
     if (nParaLeftMargin) // For Paragraph
         mpFS->startElementNS( XML_a, nElement,
-                           XML_lvl, 
sax_fastparser::UseIf(OString::number(nLevel), nLevel > 0),
                            XML_marL, 
sax_fastparser::UseIf(OString::number(oox::drawingml::convertHmmToEmu(nParaLeftMargin)),
 nParaLeftMargin > 0),
+                           XML_lvl, 
sax_fastparser::UseIf(OString::number(nOutLevel), nOutLevel > 0),
                            XML_indent, 
sax_fastparser::UseIf(OString::number((bForceZeroIndent && nParaFirstLineIndent 
== 0) ? 0 : oox::drawingml::convertHmmToEmu(nParaFirstLineIndent)), 
(bForceZeroIndent || nParaFirstLineIndent != 0)),
                            XML_algn, GetAlignment( nAlignment ),
                            XML_defTabSz, 
sax_fastparser::UseIf(OString::number(oox::drawingml::convertHmmToEmu(nParaDefaultTabSize)),
 nParaDefaultTabSize > 0),
                            XML_rtl, sax_fastparser::UseIf(ToPsz10(bRtl), 
bRtl));
     else
         mpFS->startElementNS( XML_a, nElement,
-                           XML_lvl, 
sax_fastparser::UseIf(OString::number(nLevel), nLevel > 0),
                            XML_marL, 
sax_fastparser::UseIf(OString::number(oox::drawingml::convertHmmToEmu(nLeftMargin)),
 nLeftMargin > 0),
+                           XML_lvl, 
sax_fastparser::UseIf(OString::number(nOutLevel), nOutLevel > 0),
                            XML_indent, 
sax_fastparser::UseIf(OString::number(!bForceZeroIndent ? 
oox::drawingml::convertHmmToEmu(nLineIndentation) : 0), (bForceZeroIndent || ( 
nLineIndentation != 0))),
                            XML_algn, GetAlignment( nAlignment ),
                            XML_defTabSz, 
sax_fastparser::UseIf(OString::number(oox::drawingml::convertHmmToEmu(nParaDefaultTabSize)),
 nParaDefaultTabSize > 0),

Reply via email to