summaryrefslogtreecommitdiff
path: root/reportdesign/source/ui/dlg/Formula.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'reportdesign/source/ui/dlg/Formula.cxx')
-rw-r--r--reportdesign/source/ui/dlg/Formula.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/reportdesign/source/ui/dlg/Formula.cxx b/reportdesign/source/ui/dlg/Formula.cxx
index 4d7746303d45..0854653fb21c 100644
--- a/reportdesign/source/ui/dlg/Formula.cxx
+++ b/reportdesign/source/ui/dlg/Formula.cxx
@@ -87,16 +87,21 @@ void FormulaDialog::fill()
FormulaDialog::~FormulaDialog()
{
+ disposeOnce();
+}
+
+void FormulaDialog::dispose()
+{
if ( m_pAddField )
{
SvtViewOptions aDlgOpt( E_WINDOW, OUString( HID_RPT_FIELD_SEL_WIN ) );
aDlgOpt.SetWindowState(OStringToOUString(m_pAddField->GetWindowState((WINDOWSTATE_MASK_X | WINDOWSTATE_MASK_Y | WINDOWSTATE_MASK_STATE | WINDOWSTATE_MASK_MINIMIZED)), RTL_TEXTENCODING_ASCII_US));
-
- boost::scoped_ptr<vcl::Window> aTemp2(m_pAddField);
- m_pAddField = NULL;
}
StoreFormEditData( m_pFormulaData );
+ m_pEdit.clear();
+ m_pAddField.clear();
+ formula::FormulaModalDialog::dispose();
}
@@ -199,7 +204,7 @@ void FormulaDialog::ToggleCollapsed( RefEdit* _pEdit, RefButton* _pButton)
if ( !m_pAddField )
{
- m_pAddField = new OAddFieldWindow(this,m_xRowSet);
+ m_pAddField = VclPtr<OAddFieldWindow>::Create(this,m_xRowSet);
m_pAddField->SetCreateHdl(LINK( this, FormulaDialog, OnClickHdl ) );
SvtViewOptions aDlgOpt( E_WINDOW, OUString( HID_RPT_FIELD_SEL_WIN ) );
if ( aDlgOpt.Exists() )