oox/source/export/drawingml.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
New commits: commit 9c14c9d031b87ef1f6a5aee05e994a0d9f4388f3 Author: Karthik Godha <[email protected]> AuthorDate: Wed Nov 12 18:21:24 2025 +0530 Commit: Michael Stahl <[email protected]> CommitDate: Mon Dec 15 15:50:48 2025 +0100 tdf#169401: PPT->PPTX exporting too many tabstops When exporting as PPTX we are exporting too many tabstops. According to CT_TextTabStopList, <tabLst> can't have more than 32 tabstops. Change-Id: Ia96afc566a8e94b7a938cd645d05f4318cc2f970 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193860 Reviewed-by: Michael Stahl <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> (cherry picked from commit 07f6354e66772a4ddbcdff06e3a6c842c687b9dc) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194086 Tested-by: Jenkins (cherry picked from commit 31f7e5adee4dc599987d169493bd260f84554203) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195638 Tested-by: Michael Stahl <[email protected]> diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index 888b18cb5627..f93440647529 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -3373,8 +3373,10 @@ void DrawingML::WriteParagraphTabStops(const Reference<XPropertySet>& rXPropSet) if (aTabStops.getLength() > 0) mpFS->startElementNS(XML_a, XML_tabLst); - for (const css::style::TabStop& rTabStop : aTabStops) + const sal_uInt8 MAX_TAB_STOPS = 32; + for (sal_uInt8 i = 0; i < aTabStops.getLength() && i < MAX_TAB_STOPS; i++) { + const css::style::TabStop& rTabStop = aTabStops[i]; OString sPosition = OString::number(GetPointFromCoordinate(rTabStop.Position)); OString sAlignment; switch (rTabStop.Alignment)
