diff options
-rw-r--r-- | comphelper/source/misc/accessiblewrapper.cxx | 25 | ||||
-rw-r--r-- | include/comphelper/accessiblewrapper.hxx | 5 |
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; |