summaryrefslogtreecommitdiff
path: root/sc/source/filter/xml
diff options
context:
space:
mode:
authorDennis Francis <dennisfrancis.in@gmail.com>2015-11-30 04:44:43 +0530
committerCaolán McNamara <caolanm@redhat.com>2015-12-01 09:13:05 +0000
commit75c956d8ed1a4d8f46af3de079ab1fb68add3b40 (patch)
tree94c3e4e78233d9260f77bafeb3b3d9870e1c462a /sc/source/filter/xml
parent796a904b6f3cfd7895e1763fdb043130a9c484ac (diff)
fix memory leaks on loading and saving an ods file
Change-Id: I3015a0f0254b9546386871cb015f925f0cd792f3 Reviewed-on: https://gerrit.libreoffice.org/20274 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc/source/filter/xml')
-rw-r--r--sc/source/filter/xml/XMLTableHeaderFooterContext.cxx3
-rw-r--r--sc/source/filter/xml/XMLTableMasterPageExport.cxx15
2 files changed, 18 insertions, 0 deletions
diff --git a/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx b/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
index ba0e16e98104..2ba8ed048153 100644
--- a/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
+++ b/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
@@ -25,6 +25,7 @@
#include <comphelper/extract.hxx>
#include "unonames.hxx"
+#include "textuno.hxx"
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -99,6 +100,8 @@ XMLTableHeaderFooterContext::XMLTableHeaderFooterContext( SvXMLImport& rImport,
XMLTableHeaderFooterContext::~XMLTableHeaderFooterContext()
{
+ rtl::Reference<ScHeaderFooterContentObj> pImp = ScHeaderFooterContentObj::getImplementation( xHeaderFooterContent );
+ pImp->dispose();
}
SvXMLImportContext *XMLTableHeaderFooterContext::CreateChildContext(
diff --git a/sc/source/filter/xml/XMLTableMasterPageExport.cxx b/sc/source/filter/xml/XMLTableMasterPageExport.cxx
index 260deea6dffe..f9e42add00bd 100644
--- a/sc/source/filter/xml/XMLTableMasterPageExport.cxx
+++ b/sc/source/filter/xml/XMLTableMasterPageExport.cxx
@@ -23,9 +23,11 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include "XMLTableMasterPageExport.hxx"
#include <comphelper/extract.hxx>
+#include <rtl/ref.hxx>
#include "unonames.hxx"
#include "xmlexprt.hxx"
+#include "textuno.hxx"
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -105,6 +107,14 @@ void XMLTableMasterPageExport::exportHeaderFooter(const css::uno::Reference < cs
}
}
+void lcl_DisposeXHeaderFooterContent( Reference < sheet::XHeaderFooterContent > xHFContent )
+{
+ if( !xHFContent.is() )
+ return;
+ rtl::Reference<ScHeaderFooterContentObj> pImp = ScHeaderFooterContentObj::getImplementation( xHFContent );
+ pImp->dispose();
+}
+
void XMLTableMasterPageExport::exportMasterPageContent(
const Reference < XPropertySet > & rPropSet,
bool bAutoStyles )
@@ -162,6 +172,11 @@ void XMLTableMasterPageExport::exportMasterPageContent(
exportHeaderFooter( xFooterLeft, XML_FOOTER_LEFT, bLeftFooter );
}
+
+ lcl_DisposeXHeaderFooterContent( xHeader );
+ lcl_DisposeXHeaderFooterContent( xHeaderLeft );
+ lcl_DisposeXHeaderFooterContent( xFooter );
+ lcl_DisposeXHeaderFooterContent( xFooterLeft );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */