diff options
-rw-r--r-- | formula/source/ui/dlg/ControlHelper.hxx | 1 | ||||
-rw-r--r-- | formula/source/ui/dlg/funcutl.cxx | 12 | ||||
-rw-r--r-- | formula/source/ui/dlg/parawin.cxx | 6 | ||||
-rw-r--r-- | formula/source/ui/dlg/parawin.hxx | 1 | ||||
-rw-r--r-- | include/formula/funcutl.hxx | 1 |
5 files changed, 21 insertions, 0 deletions
diff --git a/formula/source/ui/dlg/ControlHelper.hxx b/formula/source/ui/dlg/ControlHelper.hxx index 4c7e56420c22..574c85366001 100644 --- a/formula/source/ui/dlg/ControlHelper.hxx +++ b/formula/source/ui/dlg/ControlHelper.hxx @@ -48,6 +48,7 @@ public: EditBox( vcl::Window* pParent, WinBits nBits ); virtual ~EditBox(); + virtual void dispose() SAL_OVERRIDE; MultiLineEdit* GetEdit() {return pMEdit;} diff --git a/formula/source/ui/dlg/funcutl.cxx b/formula/source/ui/dlg/funcutl.cxx index d6313d418a0a..ff60bc9e0947 100644 --- a/formula/source/ui/dlg/funcutl.cxx +++ b/formula/source/ui/dlg/funcutl.cxx @@ -361,10 +361,16 @@ extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeEditBox(vcl::Window *p EditBox::~EditBox() { + dispose(); +} + +void EditBox::dispose() +{ MultiLineEdit* pTheEdit=pMEdit; pMEdit->Disable(); pMEdit=NULL; delete pTheEdit; + Control::dispose(); } // When the selection is changed this function will be called @@ -481,8 +487,14 @@ extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeRefEdit(vcl::Window *p RefEdit::~RefEdit() { + dispose(); +} + +void RefEdit::dispose() +{ aIdle.SetIdleHdl( Link() ); aIdle.Stop(); + Edit::dispose(); } void RefEdit::SetRefString( const OUString& rStr ) diff --git a/formula/source/ui/dlg/parawin.cxx b/formula/source/ui/dlg/parawin.cxx index 9e3a647eed04..cff293aed30a 100644 --- a/formula/source/ui/dlg/parawin.cxx +++ b/formula/source/ui/dlg/parawin.cxx @@ -221,6 +221,11 @@ void ParaWin::UpdateArgInput( sal_uInt16 nOffset, sal_uInt16 i ) ParaWin::~ParaWin() { + dispose(); +} + +void ParaWin::dispose() +{ // #i66422# if the focus changes during destruction of the controls, // don't call the focus handlers Link aEmptyLink; @@ -228,6 +233,7 @@ ParaWin::~ParaWin() m_pBtnFx2->SetGetFocusHdl( aEmptyLink ); m_pBtnFx3->SetGetFocusHdl( aEmptyLink ); m_pBtnFx4->SetGetFocusHdl( aEmptyLink ); + TabPage::dispose(); } diff --git a/formula/source/ui/dlg/parawin.hxx b/formula/source/ui/dlg/parawin.hxx index 5bf159b4f5d4..c885d16440a6 100644 --- a/formula/source/ui/dlg/parawin.hxx +++ b/formula/source/ui/dlg/parawin.hxx @@ -125,6 +125,7 @@ protected: public: ParaWin(vcl::Window* pParent,IControlReferenceHandler* _pDlg); virtual ~ParaWin(); + virtual void dispose() SAL_OVERRIDE; void SetFunctionDesc(const IFunctionDescription* pFDesc); void SetArgumentOffset(sal_uInt16 nOffset); diff --git a/include/formula/funcutl.hxx b/include/formula/funcutl.hxx index bc407057d183..17713a7bdc7f 100644 --- a/include/formula/funcutl.hxx +++ b/include/formula/funcutl.hxx @@ -48,6 +48,7 @@ public: RefEdit( vcl::Window* _pParent, vcl::Window* pShrinkModeLabel, WinBits nStyle = WB_BORDER ); virtual ~RefEdit(); + virtual void dispose() SAL_OVERRIDE; void SetRefString( const OUString& rStr ); |