diff options
author | Henry Castro <hcastro@collabora.com> | 2021-04-01 17:07:04 -0400 |
---|---|---|
committer | Henry Castro <hcastro@collabora.com> | 2021-04-08 13:58:11 +0200 |
commit | f153be729ed12ea301642e7d2551ec60b70a2a61 (patch) | |
tree | a4c2439d0870f0923c0beb333d53743a4ac9cbdb /sdext | |
parent | c0936ba2474f199b7242e2ca0a2d460647bc339e (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>
Diffstat (limited to 'sdext')
-rw-r--r-- | sdext/source/presenter/PresenterCurrentSlideObserver.cxx | 3 |
1 files changed, 3 insertions, 0 deletions
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 ---------------------------------------------------- |