filter/source/config/fragments/types/calc_OOXML.xcu                          | 
   2 +-
 filter/source/config/fragments/types/calc_OOXML_Template.xcu                 | 
   2 +-
 filter/source/config/fragments/types/impress_OOXML_Presentation.xcu          | 
   2 +-
 filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu | 
   2 +-
 filter/source/config/fragments/types/writer_OOXML.xcu                        | 
   2 +-
 filter/source/config/fragments/types/writer_OOXML_Template.xcu               | 
   2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

New commits:
commit d2b873bf8f695036edae0c3520ca5a6124cb1b6a
Author:     Justin Luth <[email protected]>
AuthorDate: Mon Dec 1 17:49:42 2025 -0500
Commit:     Justin Luth <[email protected]>
CommitDate: Fri Dec 5 22:28:10 2025 +0100

    tdf#165180 docm/xlsm/pptm: no macros in Office Open XML filters
    
    It isn't that Microsoft's 2010+ formats don't support macros.
    Rather, PPTX commit 5d0901a75e7ef96dc722b5277450cc18ad163f7b
    and DOCX commit 697173f6fdfae581022cfdb5ec5171c5a3be58f0
    (for the 2007 ECMA 1st edition filters)
    split the filter into two parts in order to support macro export.
    
    The same would definitely have to be done
    in order for the 2010 Office Open filters to support macros.
    So it is just that WE don't support macro export yet.
    
    If done incorrectly, MS Office will refuse to open the file,
    so it is best to ensure the filter can never EXPORT incorrectly.
    AFAICS, the import filter is meaningless (has no impact),
    so only EXPORT could possibly be affected by this patch.
    
    Linux's UI already refuses to let us save a .docm
    file using any filter other than Word 2007 VBA.
    Even setting 2007 VBA oor:name="Preferred"><value>false</value>
    didn't prevent the file-picker from auto-switching to that filter.
    The only way I could enable it was to put docm first in
        oor:name="Extensions"><value>docm docx</value>.
    MS Word refused to open the resulting file.
    (Yet another reason for a separate 2010-365 VBA filter -
    simply to enable the file-picker to override the 2007 VBA filter
    since only the first Extension has effect in
    the file-picker's auto-filter-by-extension selection.)
    
    Using SAL_USE_VCLPLUGIN=gen,
    I could easily force LO to save a .docm
    using the Word 2010-365 filter,
    and MS Word refused to open the resulting file.
    
    oox/source/core/filterdetect.cxx import logic
    unconditionally says macro-enabled formats are 2007 filters anyway.
    
    Change-Id: Iea89936f24c712b0ac17b2e56c9acacd019cad5a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195015
    Tested-by: Jenkins
    Reviewed-by: Justin Luth <[email protected]>

diff --git a/filter/source/config/fragments/types/calc_OOXML.xcu 
b/filter/source/config/fragments/types/calc_OOXML.xcu
index 8868951571e9..8e2b073ccc3a 100644
--- a/filter/source/config/fragments/types/calc_OOXML.xcu
+++ b/filter/source/config/fragments/types/calc_OOXML.xcu
@@ -18,7 +18,7 @@
 <node oor:name="Office Open XML Spreadsheet" oor:op="replace" >
     <prop 
oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
     <prop oor:name="URLPattern"/>
-    <prop oor:name="Extensions"><value>xlsx xlsm</value></prop>
+    <prop oor:name="Extensions"><value>xlsx</value></prop>
     <prop 
oor:name="MediaType"><value>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</value></prop>
     <prop oor:name="Preferred"><value>true</value></prop>
     <prop oor:name="PreferredFilter"><value>Calc Office Open XML</value></prop>
diff --git a/filter/source/config/fragments/types/calc_OOXML_Template.xcu 
b/filter/source/config/fragments/types/calc_OOXML_Template.xcu
index e7865779781a..1d002d08f143 100644
--- a/filter/source/config/fragments/types/calc_OOXML_Template.xcu
+++ b/filter/source/config/fragments/types/calc_OOXML_Template.xcu
@@ -18,7 +18,7 @@
 <node oor:name="Office Open XML Spreadsheet Template" oor:op="replace" >
     <prop 
oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
     <prop oor:name="URLPattern"/>
-    <prop oor:name="Extensions"><value>xltx xltm</value></prop>
+    <prop oor:name="Extensions"><value>xltx</value></prop>
     <prop 
oor:name="MediaType"><value>application/vnd.openxmlformats-officedocument.spreadsheetml.template</value></prop>
     <prop oor:name="Preferred"><value>true</value></prop>
     <prop oor:name="PreferredFilter"><value>Calc Office Open XML 
Template</value></prop>
diff --git 
a/filter/source/config/fragments/types/impress_OOXML_Presentation.xcu 
b/filter/source/config/fragments/types/impress_OOXML_Presentation.xcu
index 6264ce716787..5f33ec77c72a 100644
--- a/filter/source/config/fragments/types/impress_OOXML_Presentation.xcu
+++ b/filter/source/config/fragments/types/impress_OOXML_Presentation.xcu
@@ -18,7 +18,7 @@
 <node oor:name="Office Open XML Presentation" oor:op="replace">
     <prop 
oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
     <prop oor:name="URLPattern"/>
-    <prop oor:name="Extensions"><value>pptx pptm</value></prop>
+    <prop oor:name="Extensions"><value>pptx</value></prop>
     <prop 
oor:name="MediaType"><value>application/vnd.openxmlformats-officedocument.presentationml.presentation</value></prop>
     <prop oor:name="Preferred"><value>true</value></prop>
     <prop oor:name="PreferredFilter"><value>Impress Office Open 
XML</value></prop>
diff --git 
a/filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu 
b/filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu
index c34d39541b8c..3b0dbaecd837 100644
--- 
a/filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu
+++ 
b/filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu
@@ -18,7 +18,7 @@
 <node oor:name="Office Open XML Presentation Template" oor:op="replace">
     <prop 
oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
     <prop oor:name="URLPattern"/>
-    <prop oor:name="Extensions"><value>potx potm</value></prop>
+    <prop oor:name="Extensions"><value>potx</value></prop>
     <prop 
oor:name="MediaType"><value>application/vnd.openxmlformats-officedocument.presentationml.template</value></prop>
     <prop oor:name="Preferred"><value>true</value></prop>
     <prop oor:name="PreferredFilter"><value>Impress Office Open XML 
Template</value></prop>
diff --git a/filter/source/config/fragments/types/writer_OOXML.xcu 
b/filter/source/config/fragments/types/writer_OOXML.xcu
index 079a6421f072..0f4602179321 100644
--- a/filter/source/config/fragments/types/writer_OOXML.xcu
+++ b/filter/source/config/fragments/types/writer_OOXML.xcu
@@ -18,7 +18,7 @@
     <node oor:name="writer_OOXML" oor:op="replace" >
     <prop 
oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
         <prop oor:name="URLPattern"/>
-        <prop oor:name="Extensions"><value>docx docm</value></prop>
+        <prop oor:name="Extensions"><value>docx</value></prop>
         <prop 
oor:name="MediaType"><value>application/vnd.openxmlformats-officedocument.wordprocessingml.document</value></prop>
         <prop oor:name="Preferred"><value>true</value></prop>
         <prop oor:name="PreferredFilter"><value>Office Open XML 
Text</value></prop>
diff --git a/filter/source/config/fragments/types/writer_OOXML_Template.xcu 
b/filter/source/config/fragments/types/writer_OOXML_Template.xcu
index a9d424b967b4..f7a90397ef11 100644
--- a/filter/source/config/fragments/types/writer_OOXML_Template.xcu
+++ b/filter/source/config/fragments/types/writer_OOXML_Template.xcu
@@ -18,7 +18,7 @@
     <node oor:name="writer_OOXML_Text_Template" oor:op="replace" >
     <prop 
oor:name="DetectService"><value>com.sun.star.comp.oox.FormatDetector</value></prop>
         <prop oor:name="URLPattern"/>
-        <prop oor:name="Extensions"><value>dotx dotm</value></prop>
+        <prop oor:name="Extensions"><value>dotx</value></prop>
         <prop 
oor:name="MediaType"><value>application/vnd.openxmlformats-officedocument.wordprocessingml.template</value></prop>
         <prop oor:name="Preferred"><value>true</value></prop>
         <prop oor:name="PreferredFilter"><value>Office Open XML Text 
Template</value></prop>

Reply via email to