oox/source/core/xmlfilterbase.cxx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
New commits: commit ddb0bdef30dfb609378b73eb1a429943078bd611 Author: Julien Nabet <serval2...@yahoo.fr> Date: Tue Mar 3 23:46:32 2015 +0100 tdf#89791: DOCX: don't save custom.xml if it's empty Change-Id: I90f8e6c4de383b05345b8df9118000167bd20d2f Reviewed-on: https://gerrit.libreoffice.org/14735 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Julien Nabet <serval2...@yahoo.fr> Tested-by: Julien Nabet <serval2...@yahoo.fr> (cherry picked from commit 97c9bc9fada9cdfff956101a4a5e264b4dba58be) Reviewed-on: https://gerrit.libreoffice.org/14815 Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx index 842429d..4ca796f 100644 --- a/oox/source/core/xmlfilterbase.cxx +++ b/oox/source/core/xmlfilterbase.cxx @@ -695,6 +695,13 @@ writeAppProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xProp static void writeCustomProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xProperties ) { + uno::Reference<beans::XPropertyAccess> xUserDefinedProperties( xProperties->getUserDefinedProperties(), uno::UNO_QUERY ); + Sequence< PropertyValue > aprop( xUserDefinedProperties->getPropertyValues() ); + sal_Int32 nbCustomProperties = aprop.getLength(); + // tdf#89791 : if no custom properties, no need to add docProps/custom.x + if (!nbCustomProperties) + return; + rSelf.addRelation( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties", "docProps/custom.xml" ); @@ -706,9 +713,7 @@ writeCustomProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xP FSNS( XML_xmlns, XML_vt ), "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes", FSEND ); - uno::Reference<beans::XPropertyAccess> xUserDefinedProperties( xProperties->getUserDefinedProperties(), uno::UNO_QUERY ); - Sequence< PropertyValue > aprop( xUserDefinedProperties->getPropertyValues() ); - for ( sal_Int32 n = 0; n < aprop.getLength(); ++n ) + for ( sal_Int32 n = 0; n < nbCustomProperties; ++n ) { if ( !aprop[n].Name.isEmpty() ) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits