diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2015-05-14 01:36:33 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-05-14 09:20:03 +0000 |
commit | 844b7287a4ccd8e3d5e458bb1dc6c52e71322b01 (patch) | |
tree | 50e9cd9a5056c3bdd34412523c2e5a1f6b33ce18 /formula | |
parent | 5dfae3f6e39f6a39e04754fe8abb3f711581f75e (diff) |
tdf#91273: Crash when closing formula wizard (cancel or ok)
warn:legacy.osl:3927:1:vcl/source/window/window.cxx:271: Window ( 7VclVBox ()) with live children destroyed: N7formula7ParaWinE ()
I took example from http://cgit.freedesktop.org/libreoffice/core/commit/?id=da49275807c8cf1dd7362a531f321f9f756e82d1
+ test existence of m_pImpl for FormulaDlg::PreNotify
Change-Id: I580aa7be79e1743fc528fd414a0ae581c0cb0c87
Reviewed-on: https://gerrit.libreoffice.org/15726
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'formula')
-rw-r--r-- | formula/source/ui/dlg/formula.cxx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/formula/source/ui/dlg/formula.cxx b/formula/source/ui/dlg/formula.cxx index 89ec83559e0a..425593d1507b 100644 --- a/formula/source/ui/dlg/formula.cxx +++ b/formula/source/ui/dlg/formula.cxx @@ -1749,7 +1749,13 @@ FormulaDlg::FormulaDlg( SfxBindings* pB, SfxChildWindow* pCW, SetText(m_pImpl->aTitle1); } -FormulaDlg::~FormulaDlg() {} +FormulaDlg::~FormulaDlg() {disposeOnce();} + +void FormulaDlg::dispose() +{ + m_pImpl.reset(); + SfxModelessDialog::dispose(); +} void FormulaDlg::Update(const OUString& _sExp) { @@ -1823,7 +1829,8 @@ void FormulaDlg::SetFocusWin(vcl::Window *pWin,const OString& nUniqueId) bool FormulaDlg::PreNotify( NotifyEvent& rNEvt ) { - m_pImpl->PreNotify( rNEvt ); + if (m_pImpl) + m_pImpl->PreNotify( rNEvt ); return SfxModelessDialog::PreNotify(rNEvt); } |