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);
         }
     }

Reply via email to