summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-07-13 10:17:00 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2021-07-15 10:48:36 +0200
commitb54404ade97d30c863d339fb85f56aeba5c4d5d1 (patch)
tree6c617590159f11b856eacb93b0db143b2c0f87dd /svtools
parentb17df21168796c0b6907200f8600b065d7e602ad (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/+/118798 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
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 e42dad407478..8303e0f55557 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();