use comphelper::WeakComponentImplHelper in sd::Listener

Change-Id: I55ae2617b7464fa2b0cad0ad53e660dee704805c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127633
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/sd/source/ui/remotecontrol/Communicator.cxx b/sd/source/ui/remotecontrol/Communicator.cxx
index 1e6514b..ad5fb3c 100644
--- a/sd/source/ui/remotecontrol/Communicator.cxx
+++ b/sd/source/ui/remotecontrol/Communicator.cxx
@@ -148,7 +148,7 @@ void Communicator::disposeListener()
{
    if ( mListener.is() )
    {
        mListener->disposing();
        mListener->dispose();
        mListener = nullptr;
    }
}
diff --git a/sd/source/ui/remotecontrol/Listener.cxx b/sd/source/ui/remotecontrol/Listener.cxx
index 9a7d5f1..3753ed9 100644
--- a/sd/source/ui/remotecontrol/Listener.cxx
+++ b/sd/source/ui/remotecontrol/Listener.cxx
@@ -22,7 +22,6 @@ using namespace ::com::sun::star::presentation;

Listener::Listener( const ::rtl::Reference<Communicator>& rCommunicator,
                    sd::Transmitter *aTransmitter  ):
      ::cppu::WeakComponentImplHelper< XSlideShowListener >( m_aMutex ),
      mCommunicator( rCommunicator ),
      pTransmitter( nullptr )
{
@@ -115,7 +114,7 @@ void SAL_CALL Listener::slideAnimationsEnded()
{
}

void SAL_CALL Listener::disposing()
void Listener::disposing(std::unique_lock<std::mutex>&)
{
    pTransmitter = nullptr;
    if ( mController.is() )
diff --git a/sd/source/ui/remotecontrol/Listener.hxx b/sd/source/ui/remotecontrol/Listener.hxx
index 47ed55a..58d7483 100644
--- a/sd/source/ui/remotecontrol/Listener.hxx
+++ b/sd/source/ui/remotecontrol/Listener.hxx
@@ -12,8 +12,7 @@
#include <com/sun/star/presentation/XSlideShowListener.hpp>

#include <rtl/ref.hxx>
#include <cppuhelper/compbase.hxx>
#include <cppuhelper/basemutex.hxx>
#include <comphelper/compbase.hxx>
#include <com/sun/star/uno/Reference.hxx>

namespace com::sun::star::presentation { class XSlideShowController; }
@@ -26,8 +25,7 @@ namespace sd {
 * specific to the lifetime of one slideshow while a client is connected.
 */
class Listener
    : protected ::cppu::BaseMutex,
      public ::cppu::WeakComponentImplHelper< css::presentation::XSlideShowListener >
    : public comphelper::WeakComponentImplHelper< css::presentation::XSlideShowListener >
{
public:
    Listener( const ::rtl::Reference<Communicator>& rServer, sd::Transmitter *aTransmitter );
@@ -52,7 +50,7 @@ public:
    virtual void SAL_CALL hyperLinkClicked( const OUString& hyperLink ) override;

    // XEventListener
    virtual void SAL_CALL disposing() override;
    virtual void disposing(std::unique_lock<std::mutex>&) override;
    virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) override;

private: