summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--comphelper/source/misc/accessiblewrapper.cxx25
-rw-r--r--include/comphelper/accessiblewrapper.hxx5
2 files changed, 23 insertions, 7 deletions
diff --git a/comphelper/source/misc/accessiblewrapper.cxx b/comphelper/source/misc/accessiblewrapper.cxx
index a199d82cc5de..3d7c8574e2c6 100644
--- a/comphelper/source/misc/accessiblewrapper.cxx
+++ b/comphelper/source/misc/accessiblewrapper.cxx
@@ -585,12 +585,8 @@ namespace comphelper
}
- void SAL_CALL OAccessibleContextWrapper::disposing(const css::lang::EventObject& rEvent)
+ void OAccessibleContextWrapper::implDisposing(const css::lang::EventObject* pEvent)
{
- assert(rEvent.Source == Reference<XInterface>(m_xInnerContext, UNO_QUERY)
- && "OAccessibleContextWrapper::disposing called with event source that's not the "
- "wrapped a11y context");
-
AccessibleEventNotifier::TClientId nClientId( 0 );
// --- <mutex lock> -----------------------------------------
@@ -607,12 +603,29 @@ namespace comphelper
// --- </mutex lock> -----------------------------------------
// let the base class do
- OAccessibleContextWrapperHelper::disposing(rEvent);
+ if (pEvent)
+ OAccessibleContextWrapperHelper::disposing(*pEvent);
+ else
+ OAccessibleContextWrapperHelper::dispose();
// notify the disposal
if ( nClientId )
AccessibleEventNotifier::revokeClientNotifyDisposing( nClientId, *this );
}
+
+ void SAL_CALL OAccessibleContextWrapper::disposing()
+ {
+ implDisposing(nullptr);
+ }
+
+ void SAL_CALL OAccessibleContextWrapper::disposing(const css::lang::EventObject& rEvent)
+ {
+ assert(rEvent.Source == Reference<XInterface>(m_xInnerContext, UNO_QUERY)
+ && "OAccessibleContextWrapper::disposing called with event source that's not the "
+ "wrapped a11y context");
+
+ implDisposing(&rEvent);
+ }
} // namespace accessibility
diff --git a/include/comphelper/accessiblewrapper.hxx b/include/comphelper/accessiblewrapper.hxx
index c2ababe40e1a..089c143b971f 100644
--- a/include/comphelper/accessiblewrapper.hxx
+++ b/include/comphelper/accessiblewrapper.hxx
@@ -297,8 +297,11 @@ namespace comphelper
// OAccessibleContextWrapper
virtual void notifyTranslatedEvent( const css::accessibility::AccessibleEventObject& _rEvent ) override;
+ // helper method for both 'disposing' methods
+ void implDisposing(const css::lang::EventObject* pEvent);
+
// OComponentHelper
- using cppu::WeakComponentImplHelperBase::disposing;
+ void SAL_CALL disposing() override;
// XAccessibleEventListener
virtual void SAL_CALL disposing(const css::lang::EventObject& rEvent) override;