svx/source/fmcomp/gridctrl.cxx |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit 6f2b5043613bea755f01b413fd86ece0b3a29e5d
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Mon Jun 3 17:22:21 2024 +0100
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Mon Jun 3 22:43:45 2024 +0200

    crashtesting: BrowseBox::GetControlArea crash
    
    see with forums/ods/forum-en-11050.ods
    
    Change-Id: I2b1dadf51ab8efa1b66f5b7463b05ad4dc52f91d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168386
    Tested-by: Caolán McNamara <caolan.mcnam...@collabora.com>
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>

diff --git a/svx/source/fmcomp/gridctrl.cxx b/svx/source/fmcomp/gridctrl.cxx
index faedec67aa66..b6fb24d05df7 100644
--- a/svx/source/fmcomp/gridctrl.cxx
+++ b/svx/source/fmcomp/gridctrl.cxx
@@ -817,11 +817,15 @@ void DbGridControl::dispose()
 
     m_aBar.disposeAndClear();
 
+    m_aRearrangeIdle.Stop();
+
     EditBrowseBox::dispose();
 }
 
 void DbGridControl::RearrangeAtIdle()
 {
+    if (isDisposed())
+        return;
     m_aRearrangeIdle.Start();
 }
 
@@ -2642,6 +2646,9 @@ IMPL_LINK_NOARG(DbGridControl, OnDelete, void*, void)
 
 IMPL_LINK_NOARG(DbGridControl, RearrangeHdl, Timer*, void)
 {
+    if (isDisposed())
+        return;
+
     // and give it a chance to rearrange
     Point aPoint = GetControlArea().TopLeft();
     sal_uInt16 nX = static_cast<sal_uInt16>(aPoint.X());

Reply via email to