oox/source/export/drawingml.cxx    |    2 +-
 sd/qa/unit/data/odp/tdf150316.odp  |binary
 sd/qa/unit/export-tests-ooxml1.cxx |    9 +++++++++
 3 files changed, 10 insertions(+), 1 deletion(-)

New commits:
commit 23c2df654f11dac0d701d154bd16a35c3e11585e
Author:     Samuel Mehrbrodt <[email protected]>
AuthorDate: Fri Aug 25 15:05:42 2023 +0200
Commit:     Michael Stahl <[email protected]>
CommitDate: Wed Oct 25 11:11:18 2023 +0200

    tdf#150316 Fix missing first line indent in pptx export
    
    Change-Id: Ib2cac800b151823b77e44831100c2de9bbda8a16
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156107
    Tested-by: Jenkins
    Reviewed-by: Samuel Mehrbrodt <[email protected]>
    (cherry picked from commit 480f9f1805e9f91cccc61a7428afc2a587d35c67)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156008
    Reviewed-by: Patrick Luby <[email protected]>
    Reviewed-by: Michael Stahl <[email protected]>

diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index de7644ee4c54..e021354a4f0a 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -3442,7 +3442,7 @@ bool DrawingML::WriteParagraphProperties(const 
Reference<XTextContent>& rParagra
         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_indent, 
sax_fastparser::UseIf(OString::number(!bForceZeroIndent ? 
oox::drawingml::convertHmmToEmu(nParaFirstLineIndent) : 0), (bForceZeroIndent 
|| (nParaFirstLineIndent != 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));
diff --git a/sd/qa/unit/data/odp/tdf150316.odp 
b/sd/qa/unit/data/odp/tdf150316.odp
new file mode 100644
index 000000000000..dab2971711f8
Binary files /dev/null and b/sd/qa/unit/data/odp/tdf150316.odp differ
diff --git a/sd/qa/unit/export-tests-ooxml1.cxx 
b/sd/qa/unit/export-tests-ooxml1.cxx
index 5f08adb09e74..17a5ce94cbf6 100644
--- a/sd/qa/unit/export-tests-ooxml1.cxx
+++ b/sd/qa/unit/export-tests-ooxml1.cxx
@@ -1588,6 +1588,15 @@ CPPUNIT_TEST_FIXTURE(SdOOXMLExportTest1, 
testNarrationMimeType)
     assertXPath(pSlideDoc, "//p:childTnLst/p:audio", "isNarration", "1");
 }
 
+CPPUNIT_TEST_FIXTURE(SdOOXMLExportTest1, testTdf150316)
+{
+    createSdImpressDoc("odp/tdf150316.odp");
+    save("Impress Office Open XML");
+
+    xmlDocUniquePtr pXmlDoc = parseExport("ppt/slides/slide1.xml");
+    assertXPath(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp[1]/p:txBody/a:p/a:pPr", 
"indent", "-343080");
+}
+
 CPPUNIT_TEST_FIXTURE(SdOOXMLExportTest1, testTdf140865Wordart3D)
 {
     createSdImpressDoc("pptx/tdf140865Wordart3D.pptx");

Reply via email to