svtools/source/control/valueacc.cxx |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 7737dab14baea000810965c572f06a10a94f73df
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Sep 9 22:22:09 2023 +0300
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sun Sep 10 07:09:14 2023 +0200

    tdf#157160 a11y: Don't assert ValueSetAcc parent on add/remove
    
    After
    
        commit 2f5e7a07775690e57d639eeca7a1e41733fa93a9
        Author: Michael Weghorn <m.wegh...@posteo.de>
        Date:   Thu Sep 7 08:09:31 2023 +0200
    
            tdf#157092 a11y Let only drawing area dispose its ValueSet acc
    
    had fixed a crash when using the search feature with the Qt-based
    VCL plugins, the previous `DBG_ASSERT` that got promoted to a
    real assert with the above commit got triggered now that a11y CHILD
    events for removed children are handled since
    
        commit be8b031d8b3c66b223ea2478f1129427f3a362bd
        Author: Michael Weghorn <m.wegh...@posteo.de>
        Date:   Thu Sep 7 09:51:38 2023 +0200
    
            qt a11y: Forward CHILD event for removed child
    
    , s. the backtrace in tdf#157160.
    
    Since the ValueSet isn't needed for this, and at least removing
    a listener after the ValueSet has been dropped even seems logical if it's
    a valid use case to delete the ValueSet before e.g. hiding the
    window (s.a. comment in above-mentioned
    2f5e7a07775690e57d639eeca7a1e41733fa93a9), don't check for it,
    but only that the object hasn't been disposed yet
    (as was effectively the case before
    2f5e7a07775690e57d639eeca7a1e41733fa93a9, when
    only a SAL_WARN would have been triggered).
    
    Change-Id: I5be0a44decbe4508f4a419ec3dca9f8aaf85e951
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156782
    Reviewed-by: Julien Nabet <serval2...@yahoo.fr>
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/svtools/source/control/valueacc.cxx 
b/svtools/source/control/valueacc.cxx
index 2f897ae015ce..57c1777d4800 100644
--- a/svtools/source/control/valueacc.cxx
+++ b/svtools/source/control/valueacc.cxx
@@ -632,7 +632,7 @@ lang::Locale SAL_CALL ValueSetAcc::getLocale()
 
 void SAL_CALL ValueSetAcc::addAccessibleEventListener( const uno::Reference< 
accessibility::XAccessibleEventListener >& rxListener )
 {
-    ThrowIfDisposed();
+    ThrowIfDisposed(false);
     std::unique_lock aGuard (m_aMutex);
 
     if( !rxListener.is() )
@@ -656,7 +656,7 @@ void SAL_CALL ValueSetAcc::addAccessibleEventListener( 
const uno::Reference< acc
 
 void SAL_CALL ValueSetAcc::removeAccessibleEventListener( const 
uno::Reference< accessibility::XAccessibleEventListener >& rxListener )
 {
-    ThrowIfDisposed();
+    ThrowIfDisposed(false);
     std::unique_lock aGuard (m_aMutex);
 
     if( rxListener.is() )

Reply via email to