summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-07-13 10:17:00 +0100
committerCaolán McNamara <caolanm@redhat.com>2021-07-13 13:06:16 +0200
commit3aa1152ccee13869b2c1d64a296524cf4fb73fa8 (patch)
tree33e8e649973bfcb5f55fa46ca777bdc180449e5c /svtools
parent6d4a1716624a8a045ff4e90bd221b563be44be11 (diff)
a11y crash on teardown of FmXGridPeer
the XAccessible is destroyed before the attempt to dispose via the IAccessibleBrowseBox* so call that first before the XAccessible is destroyed Change-Id: I908a3fbc05f92b5e56b8b6f2bc0b27757d39d1fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118825 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svtools')
-rw-r--r--svtools/source/brwbox/brwbox1.cxx14
1 files changed, 10 insertions, 4 deletions
diff --git a/svtools/source/brwbox/brwbox1.cxx b/svtools/source/brwbox/brwbox1.cxx
index bc57b31426f7..1641b39f8b41 100644
--- a/svtools/source/brwbox/brwbox1.cxx
+++ b/svtools/source/brwbox/brwbox1.cxx
@@ -173,16 +173,22 @@ BrowseBox::~BrowseBox()
disposeOnce();
}
-void BrowseBox::dispose()
+void BrowseBox::DisposeAccessible()
{
- SAL_INFO("svtools", "BrowseBox:dispose " << this );
-
- if ( m_pImpl->m_pAccessible )
+ if (m_pImpl->m_pAccessible )
{
disposeAndClearHeaderCell(m_pImpl->m_aColHeaderCellMap);
disposeAndClearHeaderCell(m_pImpl->m_aRowHeaderCellMap);
m_pImpl->m_pAccessible->dispose();
+ m_pImpl->m_pAccessible = nullptr;
}
+}
+
+void BrowseBox::dispose()
+{
+ SAL_INFO("svtools", "BrowseBox:dispose " << this );
+
+ DisposeAccessible();
Hide();
pDataWin->pHeaderBar.disposeAndClear();