diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2020-05-28 17:17:26 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@cib.de> | 2020-05-29 12:20:17 +0200 |
commit | ef2e609b9c3c4b568e1d04360f81b5f614fa6bd8 (patch) | |
tree | 126e989034bc8b7cc6203d23d0f48562a2e0131f /xmloff | |
parent | 652e2136984a5b023b5551914cb9786a0d8f1540 (diff) |
tdf#103602 xmloff: ODF export of page style: don't export draw:fill
... attributes on page-layout-properties in strict ODF.
Change-Id: Id7c440bf86f78f5f8bb95b9463874787372d5ae8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95053
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/inc/XMLBackgroundImageExport.hxx | 4 | ||||
-rw-r--r-- | xmloff/source/style/PageMasterExportPropMapper.cxx | 15 |
2 files changed, 17 insertions, 2 deletions
diff --git a/xmloff/inc/XMLBackgroundImageExport.hxx b/xmloff/inc/XMLBackgroundImageExport.hxx index a186399df7cd..89a8b8af206d 100644 --- a/xmloff/inc/XMLBackgroundImageExport.hxx +++ b/xmloff/inc/XMLBackgroundImageExport.hxx @@ -33,10 +33,10 @@ class XMLBackgroundImageExport { SvXMLExport& rExport; - SvXMLExport& GetExport() { return rExport; } - public: + SvXMLExport& GetExport() const { return rExport; } + XMLBackgroundImageExport( SvXMLExport& rExport ); ~XMLBackgroundImageExport(); diff --git a/xmloff/source/style/PageMasterExportPropMapper.cxx b/xmloff/source/style/PageMasterExportPropMapper.cxx index d4c6abbc356f..22078b2376a1 100644 --- a/xmloff/source/style/PageMasterExportPropMapper.cxx +++ b/xmloff/source/style/PageMasterExportPropMapper.cxx @@ -20,6 +20,7 @@ #include "PageMasterExportPropMapper.hxx" #include <xmloff/xmlprmap.hxx> #include <xmloff/xmltoken.hxx> +#include <xmloff/xmlexp.hxx> #include <comphelper/types.hxx> #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/table/BorderLine2.hpp> @@ -335,6 +336,9 @@ void XMLPageMasterExportPropMapper::ContextFilter( rtl::Reference < XMLPropertySetMapper > aPropMapper(getPropertySetMapper()); + // distinguish 2 cases: drawing-page export has CTF_PM_FILL, page-layout-properties export does not + bool const isDrawingPageExport(aPropMapper->FindEntryIndex(CTF_PM_FILL) != -1); + for( auto& rProp : rPropState ) { XMLPropertyState *pProp = &rProp; @@ -343,6 +347,17 @@ void XMLPageMasterExportPropMapper::ContextFilter( sal_Int16 nSimpleId = nContextId & (~CTF_PM_FLAGMASK | XML_PM_CTF_START); sal_Int16 nPrintId = nContextId & CTF_PM_PRINTMASK; + + // tdf#103602 don't export draw:fill attributes on page-layout-properteis in strict ODF + if (!isDrawingPageExport + && aPropMapper->GetEntryAPIName(rProp.mnIndex).startsWith("Fill") + && ((aBackgroundImageExport.GetExport().getSaneDefaultVersion() + & SvtSaveOptions::ODFSVER_EXTENDED) == 0)) + { + lcl_RemoveState(&rProp); + continue; + } + XMLPropertyStateBuffer* pBuffer; switch( nFlag ) { |