editeng/source/uno/unofield.cxx | 1 + editeng/source/uno/unotext2.cxx | 3 +++ embeddedobj/source/msole/olemisc.cxx | 9 +++++++++ extensions/source/bibliography/framectr.cxx | 3 +++ extensions/source/propctrlr/genericpropertyhandler.cxx | 17 ++++++++++++++++- extensions/source/propctrlr/propcontroller.cxx | 3 +++ extensions/source/propctrlr/propertyhandler.cxx | 17 ++++++++++++++++- extensions/source/propctrlr/sqlcommanddesign.cxx | 2 ++ 8 files changed, 53 insertions(+), 2 deletions(-)
New commits: commit fa0e4fa0154b15fa1c04495562d08b4490ec984b Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Tue Sep 12 14:59:45 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Sep 13 09:45:44 2023 +0200 loplugin:unodispose in editeng..extensions Change-Id: I6545cf93b0a101d3a3eea0abe9c1732fcf3dc2d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156850 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> 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<XController*>(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(); }