[Libreoffice-commits] core.git: include/svx sfx2/source svx/source
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Mon Mar 25 13:43:25 UTC 2019
include/svx/srchdlg.hxx | 1 +
sfx2/source/appl/workwin.cxx | 2 +-
sfx2/source/dialog/basedlgs.cxx | 2 +-
svx/source/dialog/srchdlg.cxx | 7 ++++++-
4 files changed, 9 insertions(+), 3 deletions(-)
New commits:
commit 2c7a102df90bd051d34fa9100979d1a0d6341576
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Mar 25 09:43:13 2019 +0000
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Mon Mar 25 14:43:03 2019 +0100
ubsan detect null deref
Change-Id: I78a8c91f2c7493a12f5acb325c3f79efbbfbffcc
Reviewed-on: https://gerrit.libreoffice.org/69650
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/include/svx/srchdlg.hxx b/include/svx/srchdlg.hxx
index 0db2bfd0e7a2..d84a626e213f 100644
--- a/include/svx/srchdlg.hxx
+++ b/include/svx/srchdlg.hxx
@@ -121,6 +121,7 @@ public:
virtual ~SvxSearchDialog() override;
virtual void EndDialog() override;
+ virtual void ChildWinDispose() override;
virtual void Close() override;
// Window
diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx
index 8e86d0300ba3..4bc31eb3de44 100644
--- a/sfx2/source/appl/workwin.cxx
+++ b/sfx2/source/appl/workwin.cxx
@@ -583,7 +583,7 @@ void SfxWorkWindow::DeleteControllers_Impl()
// SplitWindow, cancel it at the workwindow.
// After TH a cancellation on the SplitWindow is not necessary
// since this window is also destroyed (see below).
- if (pCW->pCli)
+ if (pCW->pCli && pChild->GetWindow())
ReleaseChild_Impl(*pChild->GetWindow());
pCW->pWin = nullptr;
pWorkWin->GetSystemWindow()->GetTaskPaneList()->RemoveWindow( pChild->GetWindow() );
diff --git a/sfx2/source/dialog/basedlgs.cxx b/sfx2/source/dialog/basedlgs.cxx
index 81ccb97b910e..b7174b1ff76d 100644
--- a/sfx2/source/dialog/basedlgs.cxx
+++ b/sfx2/source/dialog/basedlgs.cxx
@@ -63,7 +63,7 @@ public:
void SfxModelessDialog_Impl::Notify( SfxBroadcaster&, const SfxHint& rHint )
{
- if( rHint.GetId() == SfxHintId::Dying) {
+ if (pMgr && rHint.GetId() == SfxHintId::Dying) {
pMgr->Destroy();
}
}
diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
index f5a809ed3c5c..a3b74d15dfe7 100644
--- a/svx/source/dialog/srchdlg.cxx
+++ b/svx/source/dialog/srchdlg.cxx
@@ -340,13 +340,18 @@ SvxSearchDialog::SvxSearchDialog(weld::Window* pParent, SfxChildWindow* pChildWi
Construct_Impl();
}
-SvxSearchDialog::~SvxSearchDialog()
+void SvxSearchDialog::ChildWinDispose()
{
rBindings.EnterRegistrations();
pSearchController.reset();
pOptionsController.reset();
pFamilyController.reset();
rBindings.LeaveRegistrations();
+ SfxModelessDialogController::ChildWinDispose();
+}
+
+SvxSearchDialog::~SvxSearchDialog()
+{
}
void SvxSearchDialog::Construct_Impl()
More information about the Libreoffice-commits
mailing list