summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2016-06-10 13:39:31 +0200
committerNoel Grandin <noel@peralex.com>2016-06-10 13:40:24 +0200
commit7846169215aa5f7bfe78ce1050638d63cf6e412c (patch)
treef76eba39b8e5b8b89fb821eb5d50b1b35f90b002 /filter
parent9b49e1817d4d045b724aed6267f8f00c6bf295cc (diff)
dispose of ImplEscherExSdr correctly
to remove the warnings messages, and turn the warn into an assert to prevent it coming back Change-Id: Ie754ac07f8bb505439a1194f843d09c396353aa6
Diffstat (limited to 'filter')
-rw-r--r--filter/source/msfilter/eschesdo.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/filter/source/msfilter/eschesdo.cxx b/filter/source/msfilter/eschesdo.cxx
index b7312eefb090..4d2a3099ebad 100644
--- a/filter/source/msfilter/eschesdo.cxx
+++ b/filter/source/msfilter/eschesdo.cxx
@@ -860,6 +860,9 @@ ImplEscherExSdr::ImplEscherExSdr( EscherEx& rEx )
ImplEscherExSdr::~ImplEscherExSdr()
{
DBG_ASSERT( !mpSolverContainer, "ImplEscherExSdr::~ImplEscherExSdr: unwritten SolverContainer" );
+ Reference<css::lang::XComponent> xComp(mXDrawPage, UNO_QUERY);
+ if (xComp.is())
+ xComp->dispose();
delete mpSolverContainer;
}
@@ -873,6 +876,9 @@ bool ImplEscherExSdr::ImplInitPage( const SdrPage& rPage )
ImplFlushSolverContainer();
mpSdrPage = nullptr;
+ Reference<css::lang::XComponent> xOldDrawPage(mXDrawPage, UNO_QUERY);
+ if (xOldDrawPage.is())
+ xOldDrawPage->dispose();
mXDrawPage = pSvxDrawPage = new SvxFmDrawPage( const_cast<SdrPage*>(&rPage) );
mXShapes.set( mXDrawPage, UNO_QUERY );
if ( !mXShapes.is() )