embeddedobj/source/msole/oleembed.cxx |    9 ++++++---
 oox/source/export/shapes.cxx          |    3 +--
 2 files changed, 7 insertions(+), 5 deletions(-)

New commits:
commit f6b22383258d6ecd93193240b60d6124791d8699
Author:     Karthik Godha <[email protected]>
AuthorDate: Wed Nov 19 21:37:51 2025 +0530
Commit:     Michael Stahl <[email protected]>
CommitDate: Thu Dec 4 15:35:35 2025 +0100

    tdf#169539: PPT->PPTX Draw OLE object data loss
    
    Draw OLE objects are skipped during the export of PPTX.
    
    Change-Id: I21c328a3e322de9fc3d4a18030e53894e7fa2514
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194216
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Michael Stahl <[email protected]>

diff --git a/embeddedobj/source/msole/oleembed.cxx 
b/embeddedobj/source/msole/oleembed.cxx
index 09eac6e5e1b7..1b6515ab3899 100644
--- a/embeddedobj/source/msole/oleembed.cxx
+++ b/embeddedobj/source/msole/oleembed.cxx
@@ -264,9 +264,12 @@ bool OleEmbeddedObject::TryToConvertToOOo( const 
uno::Reference< io::XStream >&
         xSeekable->seek( 0 );
         m_aFilterName = OwnView_Impl::GetFilterNameFromExtentionAndInStream( 
m_xContext, std::u16string_view(), xStream->getInputStream() );
 
-        if ( !m_aFilterName.isEmpty()
-          && ( m_aFilterName == "Calc MS Excel 2007 XML" || m_aFilterName == 
"Impress MS PowerPoint 2007 XML" || m_aFilterName == "MS Word 2007 XML"
-              || m_aFilterName == "MS Excel 97 Vorlage/Template" || 
m_aFilterName == "MS Word 97 Vorlage" ) )
+        if (!m_aFilterName.isEmpty()
+            && (m_aFilterName == "Calc MS Excel 2007 XML"
+                || m_aFilterName == "Impress MS PowerPoint 2007 XML"
+                || m_aFilterName == "MS Word 2007 XML"
+                || m_aFilterName == "MS Excel 97 Vorlage/Template"
+                || m_aFilterName == "MS Word 97 Vorlage" || m_aFilterName == 
"draw8"))
         {
             uno::Reference< container::XNameAccess > xFilterFactory(
                 
m_xContext->getServiceManager()->createInstanceWithContext(u"com.sun.star.document.FilterFactory"_ustr,
 m_xContext),
diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx
index 0c2ecc26f10c..fcaf711eb35d 100644
--- a/oox/source/export/shapes.cxx
+++ b/oox/source/export/shapes.cxx
@@ -227,8 +227,7 @@ static uno::Reference<io::XInputStream> lcl_StoreOwnAsOOXML(
         { {SO3_SW_CLASSID_60}, "MS Word 2007 XML", 
"application/vnd.openxmlformats-officedocument.wordprocessingml.document", 
"Word.Document.12", "docx" },
         { {SO3_SC_CLASSID_60}, "Calc MS Excel 2007 XML", 
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", 
"Excel.Sheet.12", "xlsx" },
         { {SO3_SIMPRESS_CLASSID_60}, "Impress MS PowerPoint 2007 XML", 
"application/vnd.openxmlformats-officedocument.presentationml.presentation", 
"PowerPoint.Show.12", "pptx" },
-        // FIXME: Draw does not appear to have a MSO format export filter?
-//            { {SO3_SDRAW_CLASSID}, "", "", "", "" },
+        { {SO3_SDRAW_CLASSID}, "draw8", 
"application/vnd.oasis.opendocument.graphics", 
"CollaboraOffice.DrawDocument.1", "odg" },
         { {SO3_SCH_CLASSID_60}, "unused", "", "", "" },
         { {SO3_SM_CLASSID_60}, "unused", "", "", "" },
     };

Reply via email to