summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-05-07 16:24:23 +0100
committerMichael Meeks <michael.meeks@collabora.com>2015-05-07 16:27:56 +0100
commitda49275807c8cf1dd7362a531f321f9f756e82d1 (patch)
tree9bceb4040d567d623744638d4eabb87b31dba357
parent6fd3e560900873ba773b6e90f5ab9b01b35a8eae (diff)
tdf#90935 - function wizard crash fix.
Change-Id: I1344e194f8fd5d2c0ffff4e8b075564df32706a8
-rw-r--r--formula/source/ui/dlg/formula.cxx21
-rw-r--r--include/formula/formula.hxx1
2 files changed, 15 insertions, 7 deletions
diff --git a/formula/source/ui/dlg/formula.cxx b/formula/source/ui/dlg/formula.cxx
index a857c60388f2..095be583ab81 100644
--- a/formula/source/ui/dlg/formula.cxx
+++ b/formula/source/ui/dlg/formula.cxx
@@ -1643,21 +1643,28 @@ void FormulaDlg_Impl::SetEdSelection()
} // if( pEd )
}
-FormulaModalDialog::FormulaModalDialog( vcl::Window* pParent
- , bool _bSupportFunctionResult
- , bool _bSupportResult
- , bool _bSupportMatrix
- , IFunctionManager* _pFunctionMgr
- , IControlReferenceHandler* _pDlg )
+FormulaModalDialog::FormulaModalDialog( vcl::Window* pParent
+ , bool _bSupportFunctionResult
+ , bool _bSupportResult
+ , bool _bSupportMatrix
+ , IFunctionManager* _pFunctionMgr
+ , IControlReferenceHandler* _pDlg )
: ModalDialog(pParent, "FormulaDialog", "formula/ui/formuladialog.ui")
, m_pImpl(new FormulaDlg_Impl(this,_bSupportFunctionResult,
- _bSupportResult, _bSupportMatrix, this, _pFunctionMgr, _pDlg))
+ _bSupportResult, _bSupportMatrix,
+ this, _pFunctionMgr, _pDlg))
{
SetText(m_pImpl->aTitle1);
}
FormulaModalDialog::~FormulaModalDialog() {}
+void FormulaModalDialog::dispose()
+{
+ m_pImpl.reset();
+ ModalDialog::dispose();
+}
+
void FormulaModalDialog::Update(const OUString& _sExp)
{
m_pImpl->Update(_sExp);
diff --git a/include/formula/formula.hxx b/include/formula/formula.hxx
index 1426404c038b..07720d4622ac 100644
--- a/include/formula/formula.hxx
+++ b/include/formula/formula.hxx
@@ -57,6 +57,7 @@ public:
,IFunctionManager* _pFunctionMgr
,IControlReferenceHandler* _pDlg = NULL );
virtual ~FormulaModalDialog();
+ virtual void dispose() SAL_OVERRIDE;
private:
::std::unique_ptr<FormulaDlg_Impl> m_pImpl;