| commit | 4d2c41e8171139e210d94b0c3c2b6b3d6392665a | [log] |
|---|---|---|
| author | Michael Weghorn <m.weghorn@posteo.de> | Thu May 23 12:57:46 2024 +0200 |
| committer | Michael Weghorn <m.weghorn@posteo.de> | Sat May 25 09:02:38 2024 +0200 |
| tree | 7b0fa22579cc82f173ba76afd1fe11b8338267c3 | |
| parent | b227481b63000b556e648ad607ffeb86681482a0 [diff] |
related tdf#158914 sc a11y: Release references when disposing sheet Clear all `ScAccessibleCell` references that are owned by `ScAccessibleSpreadsheet` when disposing the sheet instead of when the sheet is deleted. While `ScAccessibleSpreadsheet::disposing` is always called, `ScAccessibleSpreadsheet::~ScAccessibleSpreadsheet` is not called until all of the sheet's `ScAccessibleCell` instances have been deleted. So make sure that `ScAccessibleSpreadsheet::disposing` releases all `ScAccessibleCell` references. This might possibly reduce some of the leaks mentioned in [1]. [1] https://gerrit.libreoffice.org/c/core/+/167961/comments/15a6a4e4_91a77291 Change-Id: Iaf14338945c1899d54c8e7f8a16f38a48316ac98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167985 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
diff --git a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx index fdeea8d..7296863 100644 --- a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx +++ b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx
@@ -310,7 +310,11 @@ void SAL_CALL ScAccessibleSpreadsheet::disposing() mpViewShell->RemoveAccessibilityObject(*this); mpViewShell = nullptr; } mpAccCell.clear(); m_mapSelectionSend.clear(); m_mapFormulaSelectionSend.clear(); m_pAccFormulaCell.clear(); ScAccessibleTableBase::disposing(); }