sd/source/filter/eppt/pptx-animations-nodectx.cxx |   21 +++++++++++++++++++++
 sw/source/filter/ww8/docxattributeoutput.cxx      |    6 +++---
 2 files changed, 24 insertions(+), 3 deletions(-)

New commits:
commit f4717f8e9f40362dee6df35628751e3e5044874e
Author:     Karthik Godha <[email protected]>
AuthorDate: Mon Dec 29 14:54:49 2025 +0530
Commit:     Xisco Fauli <[email protected]>
CommitDate: Mon Jan 19 14:41:40 2026 +0100

    ODP -> PPTX: Skip childTnLst for invalid audio
    
    childTnLst element can't be empty in PPTX export. For audio animations
    we are exporting childTnLst even if the audio is invalid
    
    bug document: tdf97809-1.odp
    
    Change-Id: I7f4e19cb6541453e36fee8c63d0877ad62896a52
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196279
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Michael Stahl <[email protected]>
    (cherry picked from commit 2b43b2f3ed790914740680b6cd02af962526fc8d)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197331
    Tested-by: Jenkins
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197433

diff --git a/sd/source/filter/eppt/pptx-animations-nodectx.cxx 
b/sd/source/filter/eppt/pptx-animations-nodectx.cxx
index 11c9d8ed481f..2744cac56480 100644
--- a/sd/source/filter/eppt/pptx-animations-nodectx.cxx
+++ b/sd/source/filter/eppt/pptx-animations-nodectx.cxx
@@ -23,6 +23,9 @@
 #include <com/sun/star/presentation/ParagraphTarget.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 
+#include <comphelper/storagehelper.hxx>
+#include <comphelper/processfactory.hxx>
+
 #include <o3tl/any.hxx>
 #include <o3tl/string_view.hxx>
 
@@ -35,6 +38,7 @@ using namespace ::com::sun::star::drawing;
 using namespace ::com::sun::star::container;
 using namespace ::com::sun::star::presentation;
 using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::io;
 
 namespace oox::core
 {
@@ -177,6 +181,23 @@ void NodeContext::initValid(bool bHasValidChild, bool 
bIsIterateChild)
             if (xAudio->getSource() >>= sURL)
             {
                 mbValid = IsAudioURL(sURL);
+
+                // Check whether URL is accessible
+                try
+                {
+                    if (!sURL.startsWith("vnd.sun.star.Package:"))
+                    {
+                        Reference<XInputStream> xAudioStream;
+                        xAudioStream = 
comphelper::OStorageHelper::GetInputStreamFromURL(
+                            sURL, comphelper::getProcessComponentContext());
+                        mbValid = mbValid && xAudioStream.is();
+                    }
+                }
+                catch (const Exception&)
+                {
+                    SAL_WARN("sd", "NodeContext::initValid, invalid audio");
+                    mbValid = false;
+                }
             }
             else if (xAudio->getSource() >>= xShape)
             {
commit e41e60955be3049072dcc0a7cb912ad33cfe4917
Author:     Karthik Godha <[email protected]>
AuthorDate: Mon Dec 22 14:47:31 2025 +0530
Commit:     Xisco Fauli <[email protected]>
CommitDate: Mon Jan 19 14:41:31 2026 +0100

    Skip export of <v:imagedata> for empty graphics
    
    This is related to f6b22383258d6ecd93193240b60d6124791d8699, for some
    Draw OLEs graphic can be empty.
    
    Change-Id: I0feac81d8ae33fdbabd426ff2e37c01f911a6f0b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196075
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Michael Stahl <[email protected]>
    (cherry picked from commit 48bf5a571c76a43fd16276c0ef7a0defecc7897d)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197330
    Tested-by: Jenkins
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197432

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 1ed6e6d062c7..3423547728d3 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -6292,9 +6292,9 @@ void DocxAttributeOutput::WriteOLEShape(const 
SwFlyFrameFormat& rFrameFormat, co
     }
 
     // shape filled with the preview image
-    m_pSerializer->singleElementNS(XML_v, XML_imagedata,
-                                   FSNS(XML_r, XML_id), rImageId,
-                                   FSNS(XML_o, XML_title), "");
+    if (!rImageId.isEmpty())
+        m_pSerializer->singleElementNS(XML_v, XML_imagedata, FSNS(XML_r, 
XML_id), rImageId,
+                                       FSNS(XML_o, XML_title), "");
 
     //export wrap settings
     if (rFrameFormat.GetAnchor().GetAnchorId() != RndStdIds::FLY_AS_CHAR) 
//As-char objs does not have surround.

Reply via email to