oox/source/export/drawingml.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
New commits: commit cc2de7418d6fce04e52e6bb70a3240e969946c5c Author: Karthik Godha <[email protected]> AuthorDate: Tue Nov 18 14:16:08 2025 +0530 Commit: Michael Stahl <[email protected]> CommitDate: Tue Nov 18 19:34:33 2025 +0100 tdf#169487: PPT->PPTX Fix export of a:ext In PPTX export `cx` and `cy` in a:ext can't be greater than 2147483647 Change-Id: I23ce1c79cda01c7ecd775eecb1d453f3e707bf9c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194150 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Michael Stahl <[email protected]> diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index ef064a9c4734..812c994c7616 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -2301,12 +2301,15 @@ void DrawingML::WriteTransformation(const Reference< XShape >& xShape, const too sal_Int32 nChildLeft = nLeft; sal_Int32 nChildTop = nTop; + const sal_Int64 MAX_SIZE = std::numeric_limits<sal_Int32>::max(); + sal_Int32 nCx = std::min(oox::drawingml::convertHmmToEmu(rRect.GetWidth()), MAX_SIZE); + sal_Int32 nCy = std::min(oox::drawingml::convertHmmToEmu(rRect.GetHeight()), MAX_SIZE); + mpFS->singleElementNS(XML_a, XML_off, XML_x, OString::number(oox::drawingml::convertHmmToEmu(nLeft)), XML_y, OString::number(oox::drawingml::convertHmmToEmu(nTop))); - mpFS->singleElementNS(XML_a, XML_ext, - XML_cx, OString::number(oox::drawingml::convertHmmToEmu(rRect.GetWidth())), - XML_cy, OString::number(oox::drawingml::convertHmmToEmu(rRect.GetHeight()))); + mpFS->singleElementNS(XML_a, XML_ext, XML_cx, OString::number(nCx), XML_cy, + OString::number(nCy)); if (bIsGroupShape && (GetDocumentType() != DOCUMENT_DOCX || IsTopGroupObj(xShape))) {
