summaryrefslogtreecommitdiff
path: root/vcl/unx/generic/printer/cupsmgr.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/unx/generic/printer/cupsmgr.cxx')
-rw-r--r--vcl/unx/generic/printer/cupsmgr.cxx22
1 files changed, 18 insertions, 4 deletions
diff --git a/vcl/unx/generic/printer/cupsmgr.cxx b/vcl/unx/generic/printer/cupsmgr.cxx
index 92abca9a634c..a38c01a7b029 100644
--- a/vcl/unx/generic/printer/cupsmgr.cxx
+++ b/vcl/unx/generic/printer/cupsmgr.cxx
@@ -913,13 +913,14 @@ namespace
{
class RTSPWDialog : public ModalDialog
{
- FixedText* m_pText;
- Edit* m_pUserEdit;
- Edit* m_pPassEdit;
+ VclPtr<FixedText> m_pText;
+ VclPtr<Edit> m_pUserEdit;
+ VclPtr<Edit> m_pPassEdit;
public:
RTSPWDialog(const OString& rServer, const OString& rUserName, vcl::Window* pParent);
-
+ virtual ~RTSPWDialog();
+ virtual void dispose() SAL_OVERRIDE;
OString getUserName() const;
OString getPassword() const;
};
@@ -938,6 +939,19 @@ namespace
m_pUserEdit->SetText( OStringToOUString(rUserName, osl_getThreadTextEncoding()));
}
+ RTSPWDialog::~RTSPWDialog()
+ {
+ dispose();
+ }
+
+ void RTSPWDialog::dispose()
+ {
+ m_pText.clear();
+ m_pUserEdit.clear();
+ m_pPassEdit.clear();
+ ModalDialog::dispose();
+ }
+
OString RTSPWDialog::getUserName() const
{
return OUStringToOString( m_pUserEdit->GetText(), osl_getThreadTextEncoding() );