sd/source/filter/eppt/pptx-animations.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
New commits: commit 17410704f77cb7dca256fa787b1e9c8277dc208b Author: Karthik <[email protected]> AuthorDate: Fri Oct 10 08:27:38 2025 +0530 Commit: Michael Stahl <[email protected]> CommitDate: Wed Oct 29 15:39:00 2025 +0100 impress interop: PPT->PPTX invalid time value in <p:tmAbs> Saving a PPT file as PPTX could sometimes corrupt the output because of decimal ST_TLTime value. ST_TLTime should be unsigned int ([ISO/IEC 29500-1] 19.7.38). Change-Id: I2bfbec3a4970918e8c58b41c531799796e91668c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192138 Reviewed-by: Michael Stahl <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> (cherry picked from commit ec4a63decfe6c6613e3d3b7097359c26fa5b49c7) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193072 Tested-by: Jenkins diff --git a/sd/source/filter/eppt/pptx-animations.cxx b/sd/source/filter/eppt/pptx-animations.cxx index 56cbbbea030c..d8407b09c093 100644 --- a/sd/source/filter/eppt/pptx-animations.cxx +++ b/sd/source/filter/eppt/pptx-animations.cxx @@ -938,9 +938,11 @@ void PPTXAnimationExport::WriteAnimationNodeCommonPropsStart() { const char* sType = convertTextAnimationType(xIterate->getIterateType()); + // ST_TLTime should be unsigned int ([ISO/IEC 29500-1] 19.7.38) + sal_uInt32 nTime = static_cast<sal_uInt32>(xIterate->getIterateInterval() * 1000); + mpFS->startElementNS(XML_p, XML_iterate, XML_type, sType); - mpFS->singleElementNS(XML_p, XML_tmAbs, XML_val, - OString::number(xIterate->getIterateInterval() * 1000)); + mpFS->singleElementNS(XML_p, XML_tmAbs, XML_val, OString::number(nTime)); mpFS->endElementNS(XML_p, XML_iterate); } }
