summaryrefslogtreecommitdiff
path: root/sdext
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 /sdext
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>
Diffstat (limited to 'sdext')
-rw-r--r--sdext/source/presenter/PresenterCurrentSlideObserver.cxx3
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 ----------------------------------------------------