sc/source/ui/miscdlgs/datafdlg.cxx | 8 +++++++- sc/source/ui/view/cellsh2.cxx | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-)
New commits: commit 313543cd7b8d8614dec08925894fb5eb95c8fc95 Author: Katarina Behrens <katarina.behr...@cib.de> Date: Wed Jun 29 16:21:52 2016 +0200 Step towards disposing of ScDataFormDlg properly There were some VclPtrs hiding inside std::vector (twice), so fix that, but the destructor is still not called (getting Window::~Window inconsistency assert). With this patch however the screenshot cppunit test no longer fails Thanks noelgrandin for help Change-Id: I8b46c4608cbab2070e36ef4abec226bcd997425e Reviewed-on: https://gerrit.libreoffice.org/26772 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noelgran...@gmail.com> (cherry picked from commit ec6956491a0c6553a9fb91f64c6ceb7cd8e8aa52) fix Window::~Window: inconsistency in top window chain leak Change-Id: I4f32b77a4b107e5315e0c2bc9b20db897135c8b0 (cherry picked from commit 937cbdb579820aa1dd0526682df1ea98a34168c5) Reviewed-on: https://gerrit.libreoffice.org/26790 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Eike Rathke <er...@redhat.com> diff --git a/sc/source/ui/miscdlgs/datafdlg.cxx b/sc/source/ui/miscdlgs/datafdlg.cxx index 64dd5de..f1d8f63 100644 --- a/sc/source/ui/miscdlgs/datafdlg.cxx +++ b/sc/source/ui/miscdlgs/datafdlg.cxx @@ -216,8 +216,14 @@ void ScDataFormDlg::dispose() m_pBtnNext.clear(); m_pBtnClose.clear(); m_pSlider.clear(); - m_pGrid.clear(); m_pFixedText.clear(); + for ( auto aFTIter = maFixedTexts.begin(); aFTIter != maFixedTexts.end(); ++aFTIter ) + aFTIter->disposeAndClear(); + for ( auto aEditIter = maEdits.begin(); aEditIter != maEdits.end(); ++aEditIter ) + aEditIter->disposeAndClear(); + maFixedTexts.clear(); + maEdits.clear(); + m_pGrid.clear(); ModalDialog::dispose(); } diff --git a/sc/source/ui/view/cellsh2.cxx b/sc/source/ui/view/cellsh2.cxx index fec2ae4..e85e369 100644 --- a/sc/source/ui/view/cellsh2.cxx +++ b/sc/source/ui/view/cellsh2.cxx @@ -335,8 +335,8 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq ) ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create(); OSL_ENSURE(pFact, "ScAbstractFactory create fail!"); - AbstractScDataFormDlg* pDlg = pFact->CreateScDataFormDlg( - pTabViewShell->GetDialogParent(), pTabViewShell); + std::unique_ptr<AbstractScDataFormDlg> pDlg(pFact->CreateScDataFormDlg( + pTabViewShell->GetDialogParent(), pTabViewShell)); OSL_ENSURE(pDlg, "Dialog create fail!"); pDlg->Execute(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits