tdf#145162 PPTX export: fix extra bullet regression
Placeholders have bullet by default in MSO, so
write <a:buNone/> for paragraphs where numbering/bullet
is disabled to avoid extra bullets in Impress.
Regression from commit b6b02e0b4c9d739836e1f61a886ea45b01e6696e
(tdf#111903 tdf#137152 PPTX export: fix placeholders).
Change-Id: Ib4c563cba475d61bc475ca05623e7c7b20fded30
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126528
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit f57cfddb51b7d7409b7b425dc200aa73406a13bd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126525
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 1040f52..8ea77ad 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -2479,7 +2479,13 @@ static OUString GetAutoNumType(SvxNumType nNumberingType, bool bSDot, bool bPBeh
void DrawingML::WriteParagraphNumbering(const Reference< XPropertySet >& rXPropSet, float fFirstCharHeight, sal_Int16 nLevel )
{
if (nLevel < 0 || !GetProperty(rXPropSet, "NumberingRules"))
{
if (GetDocumentType() == DOCUMENT_PPTX)
{
mpFS->singleElementNS(XML_a, XML_buNone);
}
return;
}
Reference< XIndexAccess > rXIndexAccess;
diff --git a/sd/qa/unit/data/pptx/tdf145162.pptx b/sd/qa/unit/data/pptx/tdf145162.pptx
new file mode 100644
index 0000000..3746740
--- /dev/null
+++ b/sd/qa/unit/data/pptx/tdf145162.pptx
Binary files differ
diff --git a/sd/qa/unit/export-tests-ooxml3.cxx b/sd/qa/unit/export-tests-ooxml3.cxx
index 623761f..92c6245 100644
--- a/sd/qa/unit/export-tests-ooxml3.cxx
+++ b/sd/qa/unit/export-tests-ooxml3.cxx
@@ -69,6 +69,7 @@ public:
void testTdf118806();
void testTdf130058();
void testTdf111789();
void testTdf145162();
void testTdf100348_convert_Fontwork2TextWarp();
void testTdf1225573_FontWorkScaleX();
void testTdf99497_keepAppearanceOfCircleKind();
@@ -141,6 +142,7 @@ public:
CPPUNIT_TEST(testTdf118806);
CPPUNIT_TEST(testTdf130058);
CPPUNIT_TEST(testTdf111789);
CPPUNIT_TEST(testTdf145162);
CPPUNIT_TEST(testTdf100348_convert_Fontwork2TextWarp);
CPPUNIT_TEST(testTdf1225573_FontWorkScaleX);
CPPUNIT_TEST(testTdf99497_keepAppearanceOfCircleKind);
@@ -609,6 +611,20 @@ void SdOOXMLExportTest3::testTdf111789()
xDocShRef->DoClose();
}
void SdOOXMLExportTest3::testTdf145162()
{
sd::DrawDocShellRef xDocShRef
= loadURL(m_directories.getURLFromSrc(u"sd/qa/unit/data/pptx/tdf145162.pptx"), PPTX);
utl::TempFile tempFile;
xDocShRef = saveAndReload(xDocShRef.get(), PPTX, &tempFile);
xmlDocUniquePtr pXmlDocContent = parseExport(tempFile, "ppt/slides/slide1.xml");
assertXPath(pXmlDocContent, "/p:sld/p:cSld/p:spTree/p:sp[2]/p:txBody/a:p[2]/a:pPr/a:buNone");
// Before the fix, that tag was missing so PP put bullet to each para.
xDocShRef->DoClose();
}
void SdOOXMLExportTest3::testTdf100348_convert_Fontwork2TextWarp()
{
::sd::DrawDocShellRef xDocShRef = loadURL(