helpcontent2                   |    2 +-
 svx/source/fmcomp/fmgridif.cxx |   28 ++++++++++++++++++++++++++--
 2 files changed, 27 insertions(+), 3 deletions(-)

New commits:
commit 8fd967fbe4f9d1f97f1c10a1e5a00f8996305147
Author:     Johnny_M <kla...@partyheld.de>
AuthorDate: Sat May 15 15:40:47 2021 +0200
Commit:     Gerrit Code Review <ger...@gerrit.libreoffice.org>
CommitDate: Sat May 15 15:40:47 2021 +0200

    Update git submodules
    
    * Update helpcontent2 from branch 'master'
      to 7ec8660d3e02830b06b04718a399d81d7d0738d2
      - tdf#132643 Translate German section IDs
    
        Change-Id: I1b4dd524f22d5a84dafcadae97b7f52edf42cc6f
        Reviewed-on: https://gerrit.libreoffice.org/c/help/+/115648
        Tested-by: Jenkins
        Reviewed-by: Olivier Hallot <olivier.hal...@libreoffice.org>

diff --git a/helpcontent2 b/helpcontent2
index 6fc8af50dab4..7ec8660d3e02 160000
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 6fc8af50dab46c8f961a0f5c0d78cba334290130
+Subproject commit 7ec8660d3e02830b06b04718a399d81d7d0738d2
commit 3662b0c6b734f0725cecdc49b355d853287e2dd6
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Sat May 15 11:46:09 2021 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Sat May 15 15:40:25 2021 +0200

    improve FmXGridPeer::dispose
    
    (*) make the logic more explicit, the existing logic would try and
    do stuff at dispose() time that was potentially problematic
    (*) dont dispose the superclass in the middle, that means various
    things might go away before we're done with our own logic
    
    Change-Id: I9581ea5044b0e1822c235e85cf5827ff61ea7a3c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115646
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/svx/source/fmcomp/fmgridif.cxx b/svx/source/fmcomp/fmgridif.cxx
index 1893479a5d1c..64c9c6029f64 100644
--- a/svx/source/fmcomp/fmgridif.cxx
+++ b/svx/source/fmcomp/fmgridif.cxx
@@ -2043,7 +2043,6 @@ void FmXGridPeer::dispose()
     m_aModifyListeners.disposeAndClear(aEvt);
     m_aUpdateListeners.disposeAndClear(aEvt);
     m_aContainerListeners.disposeAndClear(aEvt);
-    VCLXWindow::dispose();
 
     // release all interceptors
     Reference< XDispatchProviderInterceptor > xInterceptor( 
m_xFirstDispatchInterceptor );
@@ -2063,7 +2062,32 @@ void FmXGridPeer::dispose()
     }
 
     DisConnectFromDispatcher();
-    setRowSet(Reference< XRowSet > ());
+
+    // unregister all listeners
+    if (m_xCursor.is())
+    {
+        m_xCursor->removeRowSetListener(this);
+
+        Reference< XReset >  xReset(m_xCursor, UNO_QUERY);
+        if (xReset.is())
+            xReset->removeResetListener(this);
+        Reference< XLoadable >  xLoadable(m_xCursor, UNO_QUERY);
+        if (xLoadable.is())
+            xLoadable->removeLoadListener(this);
+        Reference< XPropertySet >  xSet(m_xCursor, UNO_QUERY);
+        if (xSet.is())
+        {
+            xSet->removePropertyChangeListener(FM_PROP_ISMODIFIED, this);
+            xSet->removePropertyChangeListener(FM_PROP_ROWCOUNT, this);
+        }
+        m_xCursor.clear();
+    }
+
+    VclPtr< FmGridControl > pGrid = GetAs< FmGridControl >();
+    if (pGrid)
+        pGrid->setDataSource(Reference< XRowSet > ());
+
+    VCLXWindow::dispose();
 }
 
 // XContainer
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to