From 1139e549240e2a02962360aadca227753d73a78c Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Mon, 26 Jan 2015 13:11:07 +0200 Subject: vcl: VclPtr conversion in extensions Change-Id: Ie10e8fcb2bf413606063d4f1caab17bea1bb4d95 --- extensions/source/propctrlr/standardcontrol.cxx | 29 ++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'extensions/source/propctrlr/standardcontrol.cxx') diff --git a/extensions/source/propctrlr/standardcontrol.cxx b/extensions/source/propctrlr/standardcontrol.cxx index bd923405eadd..c4b452c46cd0 100644 --- a/extensions/source/propctrlr/standardcontrol.cxx +++ b/extensions/source/propctrlr/standardcontrol.cxx @@ -959,14 +959,16 @@ namespace pcr class OMultilineFloatingEdit : public FloatingWindow { private: - MultiLineEdit m_aImplEdit; + VclPtr m_aImplEdit; protected: virtual void Resize() SAL_OVERRIDE; public: OMultilineFloatingEdit(vcl::Window* _pParen); - MultiLineEdit& getEdit() { return m_aImplEdit; } + virtual ~OMultilineFloatingEdit(); + virtual void dispose() SAL_OVERRIDE; + MultiLineEdit& getEdit() { return *m_aImplEdit.get(); } protected: virtual bool PreNotify(NotifyEvent& _rNEvt) SAL_OVERRIDE; @@ -975,15 +977,25 @@ namespace pcr OMultilineFloatingEdit::OMultilineFloatingEdit(vcl::Window* _pParent) :FloatingWindow(_pParent, WB_BORDER) - ,m_aImplEdit(this, WB_VSCROLL|WB_IGNORETAB|WB_NOBORDER) + ,m_aImplEdit(new MultiLineEdit(this, WB_VSCROLL|WB_IGNORETAB|WB_NOBORDER)) { - m_aImplEdit.Show(); + m_aImplEdit->Show(); } + OMultilineFloatingEdit::~OMultilineFloatingEdit() + { + dispose(); + } + + void OMultilineFloatingEdit::dispose() + { + m_aImplEdit.disposeAndClear(); + FloatingWindow::dispose(); + } void OMultilineFloatingEdit::Resize() { - m_aImplEdit.SetSizePixel(GetOutputSizePixel()); + m_aImplEdit->SetSizePixel(GetOutputSizePixel()); } @@ -1059,6 +1071,11 @@ namespace pcr DropDownEditControl::~DropDownEditControl() + { + dispose(); + } + + void DropDownEditControl::dispose() { { boost::scoped_ptr aTemp(m_pFloatingEdit); @@ -1069,6 +1086,8 @@ namespace pcr boost::scoped_ptr aTemp(m_pDropdownButton); m_pDropdownButton = NULL; } + m_pImplEdit.disposeAndClear(); + DropDownEditControl_Base::dispose(); } -- cgit