diff options
Diffstat (limited to 'dbaccess/source/ui/dlg/directsql.cxx')
-rw-r--r-- | dbaccess/source/ui/dlg/directsql.cxx | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/dbaccess/source/ui/dlg/directsql.cxx b/dbaccess/source/ui/dlg/directsql.cxx index b02b73332e6f..c5ceccbae91b 100644 --- a/dbaccess/source/ui/dlg/directsql.cxx +++ b/dbaccess/source/ui/dlg/directsql.cxx @@ -76,11 +76,23 @@ namespace dbaui DirectSQLDialog::~DirectSQLDialog() { + disposeOnce(); + } + + void DirectSQLDialog::dispose() + { { ::osl::MutexGuard aGuard(m_aMutex); stopAllComponentListening(); } - + m_pSQL.clear(); + m_pExecute.clear(); + m_pSQLHistory.clear(); + m_pStatus.clear(); + m_pShowOutput.clear(); + m_pOutput.clear(); + m_pClose.clear(); + ModalDialog::dispose(); } void DirectSQLDialog::_disposing( const EventObject& _rSource ) @@ -94,8 +106,8 @@ namespace dbaui { OUString sMessage(ModuleRes(STR_DIRECTSQL_CONNECTIONLOST)); - MessageDialog aError(this, sMessage); - aError.Execute(); + ScopedVclPtrInstance< MessageDialog > aError(this, sMessage); + aError->Execute(); } PostUserEvent(LINK(this, DirectSQLDialog, OnClose)); |