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 );
     }
 }

Reply via email to