From 02e7628f603959d15c0f1b8a8d2c17b1550479b3 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Fri, 24 Dec 2021 20:15:53 +0200 Subject: tdf#145090 LO Calc Crash with drop-down-menu avoid attempting to call into widgets while in the middle of dispose regression from commit 8d485ec0cd35ee1ae7684f2b6ca96c0f0c6f9dac IsDisposed->isDisposed in vcl/../window Change-Id: If346dc9dc8547f8da28d091bfa20eff39162a0b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127437 Tested-by: Jenkins Reviewed-by: Noel Grandin (cherry picked from commit 3454055d4da3326540905fc69626b934d5aa0744) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127483 Reviewed-by: Adolfo Jayme Barrientos (cherry picked from commit 0c183add008e3604711d1995716cdcffc0881dc6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127577 Reviewed-by: Xisco Fauli --- comphelper/source/misc/accessiblewrapper.cxx | 4 ++-- include/comphelper/accessiblewrapper.hxx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/comphelper/source/misc/accessiblewrapper.cxx b/comphelper/source/misc/accessiblewrapper.cxx index 9aa1b48e2f1e..1167f56403c3 100644 --- a/comphelper/source/misc/accessiblewrapper.cxx +++ b/comphelper/source/misc/accessiblewrapper.cxx @@ -86,7 +86,7 @@ namespace comphelper Reference< XAccessible > OWrappedAccessibleChildrenManager::getAccessibleWrapperFor( const Reference< XAccessible >& _rxKey ) { - Reference< XAccessible > xValue; + rtl::Reference< OAccessibleWrapper > xValue; if( !_rxKey.is() ) { @@ -140,7 +140,7 @@ namespace comphelper Reference< XComponent > xContextComponent; if( rChild.second.is() ) - xContextComponent.set( rChild.second->getAccessibleContext(), + xContextComponent.set( rChild.second->getContextNoCreate(), ::css::uno::UNO_QUERY ); if( xContextComponent.is() ) xContextComponent->dispose(); diff --git a/include/comphelper/accessiblewrapper.hxx b/include/comphelper/accessiblewrapper.hxx index ea9a0af0209b..f73c312c3ab5 100644 --- a/include/comphelper/accessiblewrapper.hxx +++ b/include/comphelper/accessiblewrapper.hxx @@ -316,7 +316,7 @@ namespace comphelper typedef ::std::map < css::uno::Reference< css::accessibility::XAccessible > - , css::uno::Reference< css::accessibility::XAccessible > + , rtl::Reference< comphelper::OAccessibleWrapper > > AccessibleMap; // TODO: think about if we should hold these objects weak -- cgit