diff options
author | Noel Grandin <noel@peralex.com> | 2016-06-10 13:39:31 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2016-06-10 13:40:24 +0200 |
commit | 7846169215aa5f7bfe78ce1050638d63cf6e412c (patch) | |
tree | f76eba39b8e5b8b89fb821eb5d50b1b35f90b002 /filter | |
parent | 9b49e1817d4d045b724aed6267f8f00c6bf295cc (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.cxx | 6 |
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() ) |