From d309298d1f70f4ffbf699b1aa1b2bfe08be8c4ef Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Thu, 11 May 2023 09:27:14 +0200 Subject: tdf#155235 Draw crashes on close: SIGSEGV in SalInstance:GetYieldMutex() This is a regression from commit 3b7db802731826b6cc3b55100470b0c61c1f2dfa Author: Noel Grandin Date: Thu May 4 10:06:14 2023 +0200 tdf#105404 [API CHANGE] add index to accessiblity change event The list of children in DocumentFocusListener is getting out of sync because something is not sending add/remove events for accessible objects, a problem which was hidden before the commit above. I can't find the add/remove problem, so do the next best thing - fix the dispose methods of various accessible objects so that they clear references to other objects, which results in the relevant objects being destructed in an order which does not lead to crashes. Change-Id: Iac7f48d6e3f2bdf30edb5c7fd3c5de861aec4b7a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151657 Tested-by: Jenkins Reviewed-by: Noel Grandin --- editeng/source/accessibility/AccessibleContextBase.cxx | 2 ++ 1 file changed, 2 insertions(+) (limited to 'editeng/source/accessibility') diff --git a/editeng/source/accessibility/AccessibleContextBase.cxx b/editeng/source/accessibility/AccessibleContextBase.cxx index 6ef2fe654548..8dad5b1344b4 100644 --- a/editeng/source/accessibility/AccessibleContextBase.cxx +++ b/editeng/source/accessibility/AccessibleContextBase.cxx @@ -404,6 +404,8 @@ void SAL_CALL AccessibleContextBase::disposing() comphelper::AccessibleEventNotifier::revokeClientNotifyDisposing( mnClientId, *this ); mnClientId = 0; } + mxParent.clear(); + mxRelationSet.clear(); } -- cgit