[Libreoffice-commits] core.git: comphelper/source svtools/source sw/source
Noel Grandin
noel.grandin at collabora.co.uk
Thu Dec 8 17:27:46 UTC 2016
comphelper/source/misc/accessiblecontexthelper.cxx | 2 -
comphelper/source/misc/accessibleeventnotifier.cxx | 2 -
svtools/source/control/accessibleruler.cxx | 23 +++++++--------------
sw/source/core/access/acccontext.cxx | 2 -
4 files changed, 11 insertions(+), 18 deletions(-)
New commits:
commit 8228227168a7eb3ebf14629bec87f01536c23970
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Thu Dec 8 15:14:25 2016 +0200
convert OSL_ENSURE to assert in AccessibleEventNotifier
and fix the places that trigger it
Change-Id: I97a04cff25ab5aa1d42c79a971d15ba742bf384e
Reviewed-on: https://gerrit.libreoffice.org/31760
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/comphelper/source/misc/accessiblecontexthelper.cxx b/comphelper/source/misc/accessiblecontexthelper.cxx
index 5f855ed..bbc4102 100644
--- a/comphelper/source/misc/accessiblecontexthelper.cxx
+++ b/comphelper/source/misc/accessiblecontexthelper.cxx
@@ -151,7 +151,7 @@ namespace comphelper
if ( !isAlive() )
return;
- if ( _rxListener.is() )
+ if ( _rxListener.is() && m_pImpl->getClientId() )
{
sal_Int32 nListenerCount = AccessibleEventNotifier::removeEventListener( m_pImpl->getClientId( ), _rxListener );
if ( !nListenerCount )
diff --git a/comphelper/source/misc/accessibleeventnotifier.cxx b/comphelper/source/misc/accessibleeventnotifier.cxx
index 9c7d89a..742de12 100644
--- a/comphelper/source/misc/accessibleeventnotifier.cxx
+++ b/comphelper/source/misc/accessibleeventnotifier.cxx
@@ -130,7 +130,7 @@ namespace
// look up this client
ClientMap &rClients = Clients::get();
rPos = rClients.find( nClient );
- OSL_ENSURE( rClients.end() != rPos,
+ assert( rClients.end() != rPos &&
"AccessibleEventNotifier::implLookupClient: invalid client id "
"(did you register your client?)!" );
diff --git a/svtools/source/control/accessibleruler.cxx b/svtools/source/control/accessibleruler.cxx
index bd71793..f528ca6 100644
--- a/svtools/source/control/accessibleruler.cxx
+++ b/svtools/source/control/accessibleruler.cxx
@@ -260,7 +260,7 @@ void SAL_CALL SvtRulerAccessible::addAccessibleEventListener( const uno::Referen
void SAL_CALL SvtRulerAccessible::removeAccessibleEventListener( const uno::Reference< XAccessibleEventListener >& xListener )
throw( RuntimeException, std::exception )
{
- if (xListener.is())
+ if (xListener.is() && mnClientId)
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -332,23 +332,16 @@ void SAL_CALL SvtRulerAccessible::disposing()
{
if( !rBHelper.bDisposed )
{
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- mpRepr = nullptr; // object dies with representation
-
- }
+ ::osl::MutexGuard aGuard( m_aMutex );
+ mpRepr = nullptr; // object dies with representation
+ // Send a disposing to all listeners.
+ if ( mnClientId )
{
- ::osl::MutexGuard aGuard( m_aMutex );
-
- // Send a disposing to all listeners.
- if ( mnClientId )
- {
- comphelper::AccessibleEventNotifier::revokeClientNotifyDisposing( mnClientId, *this );
- mnClientId = 0;
- }
- mxParent.clear();
+ comphelper::AccessibleEventNotifier::revokeClientNotifyDisposing( mnClientId, *this );
+ mnClientId = 0;
}
+ mxParent.clear();
}
}
diff --git a/sw/source/core/access/acccontext.cxx b/sw/source/core/access/acccontext.cxx
index e006999..52672aa 100644
--- a/sw/source/core/access/acccontext.cxx
+++ b/sw/source/core/access/acccontext.cxx
@@ -730,7 +730,7 @@ void SAL_CALL SwAccessibleContext::removeAccessibleEventListener(
const uno::Reference< XAccessibleEventListener >& xListener )
throw (uno::RuntimeException, std::exception)
{
- if (xListener.is())
+ if (xListener.is() && m_nClientId)
{
SolarMutexGuard aGuard;
sal_Int32 nListenerCount = comphelper::AccessibleEventNotifier::removeEventListener( m_nClientId, xListener );
More information about the Libreoffice-commits
mailing list