diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-07-13 10:17:00 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-07-13 13:06:16 +0200 |
commit | 3aa1152ccee13869b2c1d64a296524cf4fb73fa8 (patch) | |
tree | 33e8e649973bfcb5f55fa46ca777bdc180449e5c /svtools | |
parent | 6d4a1716624a8a045ff4e90bd221b563be44be11 (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.cxx | 14 |
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(); |