summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2021-04-01 17:07:04 -0400
committerHenry Castro <hcastro@collabora.com>2021-04-08 13:58:11 +0200
commitf153be729ed12ea301642e7d2551ec60b70a2a61 (patch)
treea4c2439d0870f0923c0beb333d53743a4ac9cbdb
parentc0936ba2474f199b7242e2ca0a2d460647bc339e (diff)
lok: remove event listener when disposing
In order to prevent that the event listener holds the object reference count when removed, ensure they are removed when disposing the object. Change-Id: I7cb4cb7d87acfc9610c2498760ade531456fe22e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113493 Tested-by: Jenkins Reviewed-by: Henry Castro <hcastro@collabora.com>
-rw-r--r--accessibility/source/extended/AccessibleBrowseBoxTableCell.cxx2
-rw-r--r--connectivity/source/cpool/ZConnectionPool.cxx2
-rw-r--r--sd/source/ui/framework/module/SlideSorterModule.cxx4
-rw-r--r--sdext/source/presenter/PresenterCurrentSlideObserver.cxx3
4 files changed, 9 insertions, 2 deletions
diff --git a/accessibility/source/extended/AccessibleBrowseBoxTableCell.cxx b/accessibility/source/extended/AccessibleBrowseBoxTableCell.cxx
index 7827d686a3e8..d621e2e8bf64 100644
--- a/accessibility/source/extended/AccessibleBrowseBoxTableCell.cxx
+++ b/accessibility/source/extended/AccessibleBrowseBoxTableCell.cxx
@@ -329,7 +329,7 @@ namespace accessibility
{
if ( _rSource.Source == mxParent )
{
- dispose();
+ dispose();
}
}
diff --git a/connectivity/source/cpool/ZConnectionPool.cxx b/connectivity/source/cpool/ZConnectionPool.cxx
index 2917ce019700..cc90fa464e16 100644
--- a/connectivity/source/cpool/ZConnectionPool.cxx
+++ b/connectivity/source/cpool/ZConnectionPool.cxx
@@ -189,7 +189,7 @@ void SAL_CALL OConnectionPool::disposing( const css::lang::EventObject& Source )
}
else
{
- m_xDriverNode.clear();
+ m_xDriverNode.clear();
}
}
diff --git a/sd/source/ui/framework/module/SlideSorterModule.cxx b/sd/source/ui/framework/module/SlideSorterModule.cxx
index 1aa96bd0b2d4..b6e9e658b099 100644
--- a/sd/source/ui/framework/module/SlideSorterModule.cxx
+++ b/sd/source/ui/framework/module/SlideSorterModule.cxx
@@ -237,6 +237,10 @@ void SAL_CALL SlideSorterModule::disposing()
{
if (mxConfigurationController.is())
{
+ uno::Reference<lang::XComponent> const xComponent(mxConfigurationController, UNO_QUERY);
+ if (xComponent.is())
+ xComponent->removeEventListener(this);
+
mxConfigurationController->removeConfigurationChangeListener(this);
mxConfigurationController = nullptr;
}
diff --git a/sdext/source/presenter/PresenterCurrentSlideObserver.cxx b/sdext/source/presenter/PresenterCurrentSlideObserver.cxx
index b7769219c7fe..0cd33d9c0beb 100644
--- a/sdext/source/presenter/PresenterCurrentSlideObserver.cxx
+++ b/sdext/source/presenter/PresenterCurrentSlideObserver.cxx
@@ -57,6 +57,9 @@ void SAL_CALL PresenterCurrentSlideObserver::disposing()
mxSlideShowController->removeSlideShowListener(static_cast<XSlideShowListener*>(this));
mxSlideShowController = nullptr;
}
+
+ if (mpPresenterController.is())
+ mpPresenterController->removeEventListener(this);
}
//----- XSlideShowListener ----------------------------------------------------