diff --git a/editeng/source/uno/unofield.cxx b/editeng/source/uno/unofield.cxx index c9b1adc90fe4..6f2e84a9577d 100644 --- a/editeng/source/uno/unofield.cxx +++ b/editeng/source/uno/unofield.cxx @@ -650,6 +650,7 @@ uno::Reference< text::XTextRange > SAL_CALL SvxUnoTextField::getAnchor() void SAL_CALL SvxUnoTextField::dispose() { OComponentHelper::dispose(); + mxAnchor.clear(); } void SAL_CALL SvxUnoTextField::addEventListener( const uno::Reference< lang::XEventListener >& xListener ) diff --git a/editeng/source/uno/unotext2.cxx b/editeng/source/uno/unotext2.cxx index 79706cad2d2e..54714027b388 100644 --- a/editeng/source/uno/unotext2.cxx +++ b/editeng/source/uno/unotext2.cxx @@ -239,7 +239,10 @@ void SAL_CALL SvxUnoTextContent::dispose() } if( mxParentText.is() ) + { mxParentText->removeTextContent( this ); + mxParentText.clear(); + } } void SAL_CALL SvxUnoTextContent::addEventListener( const uno::Reference< lang::XEventListener >& xListener ) diff --git a/embeddedobj/source/msole/olemisc.cxx b/embeddedobj/source/msole/olemisc.cxx index 6d371d428fd6..4f50aedeba5f 100644 --- a/embeddedobj/source/msole/olemisc.cxx +++ b/embeddedobj/source/msole/olemisc.cxx @@ -289,6 +289,15 @@ void OleEmbeddedObject::Dispose() } m_xParentStorage.clear(); + m_xClientSite.clear(); + m_xClosePreventer.clear(); + m_xNewCachedVisRepl.clear(); + m_xNewParentStorage.clear(); + m_xNewObjectStream.clear(); + m_xCachedVisualRepresentation.clear(); + m_xWrappedObject.clear(); + m_xParent.clear(); + m_pOleComponent.clear(); m_bDisposed = true; } diff --git a/extensions/source/bibliography/framectr.cxx b/extensions/source/bibliography/framectr.cxx index 9159e001eae0..758c8b3484c2 100644 --- a/extensions/source/bibliography/framectr.cxx +++ b/extensions/source/bibliography/framectr.cxx @@ -228,12 +228,15 @@ void BibFrameController_Impl::dispose() if (xFrame.is()) xFrame->removeFrameActionListener( m_xImpl ); + m_xFrame.clear(); aObject.Source = static_cast(this); m_xImpl->aLC.disposeAndClear(aObject); m_xDatMan.clear(); m_aStatusListeners.clear(); m_xLastQueriedFocusWin.clear(); + m_xWindow.clear(); + m_xImpl.clear(); } void BibFrameController_Impl::addEventListener( const uno::Reference< lang::XEventListener > & aListener ) diff --git a/extensions/source/propctrlr/genericpropertyhandler.cxx b/extensions/source/propctrlr/genericpropertyhandler.cxx index 54bfb31de359..cf359bc152d8 100644 --- a/extensions/source/propctrlr/genericpropertyhandler.cxx +++ b/extensions/source/propctrlr/genericpropertyhandler.cxx @@ -605,7 +605,22 @@ namespace pcr // at this handler instance } - IMPLEMENT_FORWARD_XCOMPONENT( GenericPropertyHandler, GenericPropertyHandler_Base ); + void SAL_CALL GenericPropertyHandler::dispose( ) + { + GenericPropertyHandler_Base::WeakComponentImplHelperBase::dispose(); + m_xComponentIntrospectionAccess.clear(); + m_xComponent.clear(); + m_xTypeConverter.clear(); + m_xPropertyState.clear(); + } + void SAL_CALL GenericPropertyHandler::addEventListener( const css::uno::Reference< css::lang::XEventListener >& Listener ) + { + GenericPropertyHandler_Base::WeakComponentImplHelperBase::addEventListener( Listener ); + } + void SAL_CALL GenericPropertyHandler::removeEventListener( const css::uno::Reference< css::lang::XEventListener >& Listener ) + { + GenericPropertyHandler_Base::WeakComponentImplHelperBase::removeEventListener( Listener ); + } } // namespace pcr diff --git a/extensions/source/propctrlr/propcontroller.cxx b/extensions/source/propctrlr/propcontroller.cxx index 01a0395594f5..836f5844e38d 100644 --- a/extensions/source/propctrlr/propcontroller.cxx +++ b/extensions/source/propctrlr/propcontroller.cxx @@ -490,6 +490,9 @@ namespace pcr m_aInspectedObjects.clear(); impl_bindToNewModel_nothrow( nullptr ); + m_xModel.clear(); + m_xInteractiveHandler.clear(); + m_xFrame.clear(); } void SAL_CALL OPropertyBrowserController::addEventListener( const Reference< XEventListener >& _rxListener ) diff --git a/extensions/source/propctrlr/propertyhandler.cxx b/extensions/source/propctrlr/propertyhandler.cxx index 53cf29fc6f4c..1c58a6202b74 100644 --- a/extensions/source/propctrlr/propertyhandler.cxx +++ b/extensions/source/propctrlr/propertyhandler.cxx @@ -242,7 +242,22 @@ namespace pcr return true; } - IMPLEMENT_FORWARD_XCOMPONENT( PropertyHandler, PropertyHandler_Base ) + void SAL_CALL PropertyHandler::dispose( ) + { + PropertyHandler_Base::WeakComponentImplHelperBase::dispose(); + m_xComponent.clear(); + m_xComponentPropertyInfo.clear(); + m_xTypeConverter.clear(); + } + void SAL_CALL PropertyHandler::addEventListener( const css::uno::Reference< css::lang::XEventListener >& Listener ) + { + PropertyHandler_Base::WeakComponentImplHelperBase::addEventListener( Listener ); + } + void SAL_CALL PropertyHandler::removeEventListener( const css::uno::Reference< css::lang::XEventListener >& Listener ) + { + PropertyHandler_Base::WeakComponentImplHelperBase::removeEventListener( Listener ); + } + void SAL_CALL PropertyHandler::disposing() { diff --git a/extensions/source/propctrlr/sqlcommanddesign.cxx b/extensions/source/propctrlr/sqlcommanddesign.cxx index 458dbd83153a..d98b2a569234 100644 --- a/extensions/source/propctrlr/sqlcommanddesign.cxx +++ b/extensions/source/propctrlr/sqlcommanddesign.cxx @@ -163,6 +163,8 @@ namespace pcr m_xConnection.clear(); m_xContext.clear(); m_xORB.clear(); + m_xDesigner.clear(); + m_xObjectAdapter.clear(); }