svx/source/accessibility/AccessibleTextHelper.cxx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)
New commits: commit 7d5fe5bed3a66fe70908f147a7269e438d03e655 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Tue Apr 29 17:55:27 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Tue Apr 29 23:10:42 2025 +0200 svx a11y: Use 0 client ID when disposed `mnNotifierClientId` is initialized with a non-zero value in the ctor, so 0 can be used as a special value to indicate that comphelper::AccessibleEventNotifier::revokeClient has been called. This aligns this a bit further with the implementation in OAccessibleComponentHelper. Change-Id: I84044ed76208ff8379e06d45c11591cae06a48d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184790 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/svx/source/accessibility/AccessibleTextHelper.cxx b/svx/source/accessibility/AccessibleTextHelper.cxx index f9cdcb11761f..543262740b23 100644 --- a/svx/source/accessibility/AccessibleTextHelper.cxx +++ b/svx/source/accessibility/AccessibleTextHelper.cxx @@ -214,8 +214,6 @@ private: /// client Id from AccessibleEventNotifier comphelper::AccessibleEventNotifier::TClientId mnNotifierClientId; - static constexpr comphelper::AccessibleEventNotifier::TClientId snNotifierClientRevoked - = std::numeric_limits<comphelper::AccessibleEventNotifier::TClientId>::max(); }; AccessibleTextHelper_Impl::AccessibleTextHelper_Impl() : @@ -1360,7 +1358,7 @@ void AccessibleTextHelper_Impl::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& void AccessibleTextHelper_Impl::Dispose() { - if (mnNotifierClientId != snNotifierClientRevoked) + if (mnNotifierClientId != 0) { try { @@ -1370,7 +1368,7 @@ void AccessibleTextHelper_Impl::Dispose() } catch( const uno::Exception& ) {} - mnNotifierClientId = snNotifierClientRevoked; + mnNotifierClientId = 0; } try @@ -1412,7 +1410,7 @@ void AccessibleTextHelper_Impl::FireEvent( const sal_Int16 nEventId, const uno:: } // -- until here -- - if (mnNotifierClientId != snNotifierClientRevoked) + if (mnNotifierClientId != 0) ::comphelper::AccessibleEventNotifier::addEvent(mnNotifierClientId, aEvent); } @@ -1442,13 +1440,13 @@ uno::Reference< XAccessible > AccessibleTextHelper_Impl::getAccessibleChild( sal void AccessibleTextHelper_Impl::addAccessibleEventListener( const uno::Reference< XAccessibleEventListener >& xListener ) { - if (mnNotifierClientId != snNotifierClientRevoked) + if (mnNotifierClientId != 0) ::comphelper::AccessibleEventNotifier::addEventListener(mnNotifierClientId, xListener); } void AccessibleTextHelper_Impl::removeAccessibleEventListener( const uno::Reference< XAccessibleEventListener >& xListener ) { - if (mnNotifierClientId == snNotifierClientRevoked) + if (mnNotifierClientId == 0) return; const sal_Int32 nListenerCount @@ -1460,7 +1458,7 @@ void AccessibleTextHelper_Impl::removeAccessibleEventListener( const uno::Refere // and at least to us not firing any events anymore, in case somebody calls // NotifyAccessibleEvent, again ::comphelper::AccessibleEventNotifier::TClientId nId = mnNotifierClientId; - mnNotifierClientId = snNotifierClientRevoked; + mnNotifierClientId = 0; ::comphelper::AccessibleEventNotifier::revokeClient( nId ); } }