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