diff options
Diffstat (limited to 'cui/source/dialogs')
33 files changed, 809 insertions, 59 deletions
diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx index 5c81f1c02206..ac8aca049c02 100644 --- a/cui/source/dialogs/SpellDialog.cxx +++ b/cui/source/dialogs/SpellDialog.cxx @@ -261,6 +261,26 @@ void SpellDialog::dispose() delete pImpl; pImpl = NULL; } + m_pLanguageFT.clear(); + m_pLanguageLB.clear(); + m_pExplainFT.clear(); + m_pExplainLink.clear(); + m_pNotInDictFT.clear(); + m_pSentenceED.clear(); + m_pSuggestionFT.clear(); + m_pSuggestionLB.clear(); + m_pIgnorePB.clear(); + m_pIgnoreAllPB.clear(); + m_pIgnoreRulePB.clear(); + m_pAddToDictPB.clear(); + m_pAddToDictMB.clear(); + m_pChangePB.clear(); + m_pChangeAllPB.clear(); + m_pAutoCorrPB.clear(); + m_pCheckGrammarCB.clear(); + m_pOptionsPB.clear(); + m_pUndoPB.clear(); + m_pClosePB.clear(); SfxModelessDialog::dispose(); } diff --git a/cui/source/dialogs/about.cxx b/cui/source/dialogs/about.cxx index 867c8ce281e6..f146e698e49f 100644 --- a/cui/source/dialogs/about.cxx +++ b/cui/source/dialogs/about.cxx @@ -98,6 +98,23 @@ AboutDialog::AboutDialog(vcl::Window* pParent) get<PushButton>("close")->GrabFocus(); } +AboutDialog::~AboutDialog() +{ + dispose(); +} + +void AboutDialog::dispose() +{ + m_pVersion.clear(); + m_pDescriptionText.clear(); + m_pCopyrightText.clear(); + m_pLogoImage.clear(); + m_pLogoReplacement.clear(); + m_pCreditsButton.clear(); + m_pWebsiteButton.clear(); + SfxModalDialog::dispose(); +} + IMPL_LINK( AboutDialog, HandleClick, PushButton*, pButton ) { OUString sURL = ""; diff --git a/cui/source/dialogs/colorpicker.cxx b/cui/source/dialogs/colorpicker.cxx index 7edff10bf399..ad1f3e0d8f81 100644 --- a/cui/source/dialogs/colorpicker.cxx +++ b/cui/source/dialogs/colorpicker.cxx @@ -973,6 +973,8 @@ class ColorPickerDialog : public ModalDialog { public: ColorPickerDialog( vcl::Window* pParent, sal_Int32 nColor, sal_Int16 nMode ); + virtual ~ColorPickerDialog() { dispose(); } + virtual void dispose() SAL_OVERRIDE; void update_color( sal_uInt16 n = UPDATE_ALL ); @@ -992,35 +994,35 @@ private: double mdCyan, mdMagenta, mdYellow, mdKey; private: - ColorFieldControl* mpColorField; - ColorSliderControl* mpColorSlider; - ColorPreviewControl* mpColorPreview; - ColorPreviewControl* mpColorPrevious; + VclPtr<ColorFieldControl> mpColorField; + VclPtr<ColorSliderControl> mpColorSlider; + VclPtr<ColorPreviewControl> mpColorPreview; + VclPtr<ColorPreviewControl> mpColorPrevious; - FixedImage* mpFISliderLeft; - FixedImage* mpFISliderRight; + VclPtr<FixedImage> mpFISliderLeft; + VclPtr<FixedImage> mpFISliderRight; Image maSliderImage; - RadioButton* mpRBRed; - RadioButton* mpRBGreen; - RadioButton* mpRBBlue; - RadioButton* mpRBHue; - RadioButton* mpRBSaturation; - RadioButton* mpRBBrightness; - - MetricField* mpMFRed; - MetricField* mpMFGreen; - MetricField* mpMFBlue; - HexColorControl* mpEDHex; - - MetricField* mpMFHue; - MetricField* mpMFSaturation; - MetricField* mpMFBrightness; - - MetricField* mpMFCyan; - MetricField* mpMFMagenta; - MetricField* mpMFYellow; - MetricField* mpMFKey; + VclPtr<RadioButton> mpRBRed; + VclPtr<RadioButton> mpRBGreen; + VclPtr<RadioButton> mpRBBlue; + VclPtr<RadioButton> mpRBHue; + VclPtr<RadioButton> mpRBSaturation; + VclPtr<RadioButton> mpRBBrightness; + + VclPtr<MetricField> mpMFRed; + VclPtr<MetricField> mpMFGreen; + VclPtr<MetricField> mpMFBlue; + VclPtr<HexColorControl> mpEDHex; + + VclPtr<MetricField> mpMFHue; + VclPtr<MetricField> mpMFSaturation; + VclPtr<MetricField> mpMFBrightness; + + VclPtr<MetricField> mpMFCyan; + VclPtr<MetricField> mpMFMagenta; + VclPtr<MetricField> mpMFYellow; + VclPtr<MetricField> mpMFKey; }; ColorPickerDialog::ColorPickerDialog( vcl::Window* pParent, sal_Int32 nColor, sal_Int16 nMode ) @@ -1126,6 +1128,34 @@ ColorPickerDialog::ColorPickerDialog( vcl::Window* pParent, sal_Int32 nColor, sa update_color(); } +void ColorPickerDialog::dispose() +{ + mpColorField.clear(); + mpColorSlider.clear(); + mpColorPreview.clear(); + mpColorPrevious.clear(); + mpFISliderLeft.clear(); + mpFISliderRight.clear(); + mpRBRed.clear(); + mpRBGreen.clear(); + mpRBBlue.clear(); + mpRBHue.clear(); + mpRBSaturation.clear(); + mpRBBrightness.clear(); + mpMFRed.clear(); + mpMFGreen.clear(); + mpMFBlue.clear(); + mpEDHex.clear(); + mpMFHue.clear(); + mpMFSaturation.clear(); + mpMFBrightness.clear(); + mpMFCyan.clear(); + mpMFMagenta.clear(); + mpMFYellow.clear(); + mpMFKey.clear(); + ModalDialog::dispose(); +} + static int toInt( double dValue, double dRange ) { return static_cast< int >( std::floor((dValue * dRange) + 0.5 ) ); diff --git a/cui/source/dialogs/cuicharmap.cxx b/cui/source/dialogs/cuicharmap.cxx index e992ab28d064..44f03fed1481 100644 --- a/cui/source/dialogs/cuicharmap.cxx +++ b/cui/source/dialogs/cuicharmap.cxx @@ -100,6 +100,25 @@ SvxCharacterMap::SvxCharacterMap( vcl::Window* pParent, bool bOne_, const SfxIte CreateOutputItemSet( pSet ? *pSet->GetPool() : SfxGetpApp()->GetPool() ); } +SvxCharacterMap::~SvxCharacterMap() +{ + dispose(); +} + +void SvxCharacterMap::dispose() +{ + m_pShowSet.clear(); + m_pShowText.clear(); + m_pOKBtn.clear(); + m_pFontText.clear(); + m_pFontLB.clear(); + m_pSubsetText.clear(); + m_pSubsetLB.clear(); + m_pSymbolText.clear(); + m_pShowChar.clear(); + m_pCharCodeText.clear(); + SfxModalDialog::dispose(); +} void SvxCharacterMap::SetChar( sal_UCS4 c ) diff --git a/cui/source/dialogs/cuifmsearch.cxx b/cui/source/dialogs/cuifmsearch.cxx index c8bbf0abab69..7e3a767a3bdd 100644 --- a/cui/source/dialogs/cuifmsearch.cxx +++ b/cui/source/dialogs/cuifmsearch.cxx @@ -176,6 +176,34 @@ void FmSearchDialog::dispose() delete m_pSearchEngine; m_pSearchEngine = NULL; + m_prbSearchForText.clear(); + m_prbSearchForNull.clear(); + m_prbSearchForNotNull.clear(); + m_pcmbSearchText.clear(); + m_pftForm.clear(); + m_plbForm.clear(); + m_prbAllFields.clear(); + m_prbSingleField.clear(); + m_plbField.clear(); + m_pftPosition.clear(); + m_plbPosition.clear(); + m_pcbUseFormat.clear(); + m_pcbCase.clear(); + m_pcbBackwards.clear(); + m_pcbStartOver.clear(); + m_pcbWildCard.clear(); + m_pcbRegular.clear(); + m_pcbApprox.clear(); + m_ppbApproxSettings.clear(); + m_pHalfFullFormsCJK.clear(); + m_pSoundsLikeCJK.clear(); + m_pSoundsLikeCJKSettings.clear(); + m_pftRecord.clear(); + m_pftHint.clear(); + m_pbSearchAgain.clear(); + m_pbClose.clear(); + m_pPreSearchFocus.clear(); + ModalDialog::dispose(); } @@ -609,7 +637,7 @@ void FmSearchDialog::EnableSearchUI(bool bEnable) m_pPreSearchFocus->GrabFocus(); if ( WINDOW_EDIT == m_pPreSearchFocus->GetType() ) { - Edit* pEdit = static_cast< Edit* >( m_pPreSearchFocus ); + Edit* pEdit = static_cast< Edit* >( m_pPreSearchFocus.get() ); pEdit->SetSelection( Selection( 0, pEdit->GetText().getLength() ) ); } } diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx index ac330ae95173..87e8a6ae6921 100644 --- a/cui/source/dialogs/cuigaldlg.cxx +++ b/cui/source/dialogs/cuigaldlg.cxx @@ -215,6 +215,19 @@ SearchProgress::SearchProgress( vcl::Window* pParent, const INetURLObject& rStar m_pBtnCancel->SetClickHdl( LINK( this, SearchProgress, ClickCancelBtn ) ); } +SearchProgress::~SearchProgress() +{ + dispose(); +} + +void SearchProgress::dispose() +{ + m_pFtSearchDir.clear(); + m_pFtSearchType.clear(); + m_pBtnCancel.clear(); + parent_.clear(); + ModalDialog::dispose(); +} void SearchProgress::Terminate() @@ -260,7 +273,7 @@ void SearchProgress::StartExecuteModal( const Link& rEndDialogHdl ) { assert(!maSearchThread.is()); maSearchThread = new SearchThread( - this, static_cast< TPGalleryThemeProperties * >(parent_), startUrl_); + this, static_cast< TPGalleryThemeProperties * >(parent_.get()), startUrl_); maSearchThread->launch(); ModalDialog::StartExecuteModal( rEndDialogHdl ); } @@ -345,6 +358,19 @@ TakeProgress::TakeProgress(vcl::Window* pWindow) m_pBtnCancel->SetClickHdl( LINK( this, TakeProgress, ClickCancelBtn ) ); } +TakeProgress::~TakeProgress() +{ + dispose(); +} + +void TakeProgress::dispose() +{ + m_pFtTakeFile.clear(); + m_pBtnCancel.clear(); + window_.clear(); + ModalDialog::dispose(); +} + void TakeProgress::Terminate() { if (maTakeThread.is()) @@ -425,7 +451,7 @@ void TakeProgress::StartExecuteModal( const Link& rEndDialogHdl ) { assert(!maTakeThread.is()); maTakeThread = new TakeThread( - this, static_cast< TPGalleryThemeProperties * >(window_), maTakenList); + this, static_cast< TPGalleryThemeProperties * >(window_.get()), maTakenList); maTakeThread->launch(); ModalDialog::StartExecuteModal( rEndDialogHdl ); } @@ -443,6 +469,18 @@ ActualizeProgress::ActualizeProgress(vcl::Window* pWindow, GalleryTheme* pThm) m_pBtnCancel->SetClickHdl( LINK( this, ActualizeProgress, ClickCancelBtn ) ); } +ActualizeProgress::~ActualizeProgress() +{ + dispose(); +} + +void ActualizeProgress::dispose() +{ + m_pFtActualizeFile.clear(); + m_pBtnCancel.clear(); + ModalDialog::dispose(); +} + short ActualizeProgress::Execute() { short nRet; @@ -511,6 +549,17 @@ TitleDialog::TitleDialog(vcl::Window* pParent, const OUString& rOldTitle) m_pEdit->GrabFocus(); } +TitleDialog::~TitleDialog() +{ + dispose(); +} + +void TitleDialog::dispose() +{ + m_pEdit.clear(); + ModalDialog::dispose(); +} + // - GalleryIdDialog - @@ -532,7 +581,17 @@ GalleryIdDialog::GalleryIdDialog( vcl::Window* pParent, GalleryTheme* _pThm ) m_pBtnOk->SetClickHdl( LINK( this, GalleryIdDialog, ClickOkHdl ) ); } +GalleryIdDialog::~GalleryIdDialog() +{ + dispose(); +} +void GalleryIdDialog::dispose() +{ + m_pBtnOk.clear(); + m_pLbResName.clear(); + ModalDialog::dispose(); +} IMPL_LINK_NOARG(GalleryIdDialog, ClickOkHdl) { @@ -616,6 +675,22 @@ TPGalleryThemeGeneral::TPGalleryThemeGeneral(vcl::Window* pParent, const SfxItem get(m_pFtMSShowChangeDate, "modified"); } +TPGalleryThemeGeneral::~TPGalleryThemeGeneral() +{ + dispose(); +} + +void TPGalleryThemeGeneral::dispose() +{ + m_pFiMSImage.clear(); + m_pEdtMSName.clear(); + m_pFtMSShowType.clear(); + m_pFtMSShowPath.clear(); + m_pFtMSShowContent.clear(); + m_pFtMSShowChangeDate.clear(); + SfxTabPage::dispose(); +} + void TPGalleryThemeGeneral::SetXChgData( ExchangeData* _pData ) { pData = _pData; @@ -769,6 +844,13 @@ void TPGalleryThemeProperties::dispose() } aFilterEntryList.clear(); + m_pCbbFileType.clear(); + m_pLbxFound.clear(); + m_pBtnSearch.clear(); + m_pBtnTake.clear(); + m_pBtnTakeAll.clear(); + m_pCbxPreview.clear(); + m_pWndPreview.clear(); SfxTabPage::dispose(); } diff --git a/cui/source/dialogs/cuigrfflt.cxx b/cui/source/dialogs/cuigrfflt.cxx index 9eb47497865e..6fd0cf74a4c7 100644 --- a/cui/source/dialogs/cuigrfflt.cxx +++ b/cui/source/dialogs/cuigrfflt.cxx @@ -153,6 +153,16 @@ GraphicFilterDialog::GraphicFilterDialog(vcl::Window* pParent, mpPreview->init(&rGraphic, maModifyHdl); } +GraphicFilterDialog::~GraphicFilterDialog() +{ + dispose(); +} + +void GraphicFilterDialog::dispose() +{ + mpPreview.clear(); + ModalDialog::dispose(); +} IMPL_LINK_NOARG(GraphicFilterDialog, ImplPreviewTimeoutHdl) @@ -204,7 +214,18 @@ GraphicFilterMosaic::GraphicFilterMosaic( vcl::Window* pParent, const Graphic& r mpMtrWidth->GrabFocus(); } +GraphicFilterMosaic::~GraphicFilterMosaic() +{ + dispose(); +} +void GraphicFilterMosaic::dispose() +{ + mpMtrWidth.clear(); + mpMtrHeight.clear(); + mpCbxEdges.clear(); + GraphicFilterDialog::dispose(); +} Graphic GraphicFilterMosaic::GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY ) @@ -257,6 +278,16 @@ GraphicFilterSmooth::GraphicFilterSmooth( vcl::Window* pParent, const Graphic& r mpMtrRadius->GrabFocus(); } +GraphicFilterSmooth::~GraphicFilterSmooth() +{ + dispose(); +} + +void GraphicFilterSmooth::dispose() +{ + mpMtrRadius.clear(); + GraphicFilterDialog::dispose(); +} Graphic GraphicFilterSmooth::GetFilteredGraphic( const Graphic& rGraphic, double /*fScaleX*/, double /*fScaleY*/ ) @@ -305,6 +336,17 @@ GraphicFilterSolarize::GraphicFilterSolarize( vcl::Window* pParent, const Graphi mpCbxInvert->SetToggleHdl( GetModifyHdl() ); } +GraphicFilterSolarize::~GraphicFilterSolarize() +{ + dispose(); +} + +void GraphicFilterSolarize::dispose() +{ + mpMtrThreshold.clear(); + mpCbxInvert.clear(); + GraphicFilterDialog::dispose(); +} Graphic GraphicFilterSolarize::GetFilteredGraphic( const Graphic& rGraphic, @@ -356,6 +398,16 @@ GraphicFilterSepia::GraphicFilterSepia( vcl::Window* pParent, const Graphic& rGr mpMtrSepia->SetModifyHdl( GetModifyHdl() ); } +GraphicFilterSepia::~GraphicFilterSepia() +{ + dispose(); +} + +void GraphicFilterSepia::dispose() +{ + mpMtrSepia.clear(); + GraphicFilterDialog::dispose(); +} Graphic GraphicFilterSepia::GetFilteredGraphic( const Graphic& rGraphic, @@ -399,6 +451,16 @@ GraphicFilterPoster::GraphicFilterPoster(vcl::Window* pParent, const Graphic& rG mpNumPoster->SetModifyHdl( GetModifyHdl() ); } +GraphicFilterPoster::~GraphicFilterPoster() +{ + dispose(); +} + +void GraphicFilterPoster::dispose() +{ + mpNumPoster.clear(); + GraphicFilterDialog::dispose(); +} Graphic GraphicFilterPoster::GetFilteredGraphic( const Graphic& rGraphic, @@ -462,6 +524,16 @@ GraphicFilterEmboss::GraphicFilterEmboss(vcl::Window* pParent, mpCtlLight->GrabFocus(); } +GraphicFilterEmboss::~GraphicFilterEmboss() +{ + dispose(); +} + +void GraphicFilterEmboss::dispose() +{ + mpCtlLight.clear(); + GraphicFilterDialog::dispose(); +} Graphic GraphicFilterEmboss::GetFilteredGraphic( const Graphic& rGraphic, diff --git a/cui/source/dialogs/cuiimapwnd.cxx b/cui/source/dialogs/cuiimapwnd.cxx index 118da3fc5c50..d86558bccdba 100644 --- a/cui/source/dialogs/cuiimapwnd.cxx +++ b/cui/source/dialogs/cuiimapwnd.cxx @@ -73,4 +73,19 @@ URLDlg::URLDlg( vcl::Window* pWindow, const OUString& rURL, const OUString& rAlt m_pCbbTargets->SetText( rTarget ); } +URLDlg::~URLDlg() +{ + dispose(); +} + +void URLDlg::dispose() +{ + m_pEdtURL.clear(); + m_pCbbTargets.clear(); + m_pEdtName.clear(); + m_pEdtAlternativeText.clear(); + m_pEdtDescription.clear(); + ModalDialog::dispose(); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/dialogs/cuitbxform.cxx b/cui/source/dialogs/cuitbxform.cxx index 46ae5b5e78d6..1670025e3195 100644 --- a/cui/source/dialogs/cuitbxform.cxx +++ b/cui/source/dialogs/cuitbxform.cxx @@ -41,4 +41,15 @@ FmInputRecordNoDialog::FmInputRecordNoDialog(vcl::Window * pParent) m_pRecordNo->SetDecimalDigits(0); } +FmInputRecordNoDialog::~FmInputRecordNoDialog() +{ + dispose(); +} + +void FmInputRecordNoDialog::dispose() +{ + m_pRecordNo.clear(); + ModalDialog::dispose(); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/dialogs/dlgname.cxx b/cui/source/dialogs/dlgname.cxx index 4a49494243d1..3aa778fac86f 100644 --- a/cui/source/dialogs/dlgname.cxx +++ b/cui/source/dialogs/dlgname.cxx @@ -45,6 +45,19 @@ SvxNameDialog::SvxNameDialog( vcl::Window* pWindow, const OUString& rName, const pEdtName->SetModifyHdl(LINK(this, SvxNameDialog, ModifyHdl)); } +SvxNameDialog::~SvxNameDialog() +{ + dispose(); +} + +void SvxNameDialog::dispose() +{ + pFtDescription.clear(); + pEdtName.clear(); + pBtnOK.clear(); + ModalDialog::dispose(); +} + IMPL_LINK_NOARG(SvxNameDialog, ModifyHdl) { if(aCheckNameHdl.IsSet()) @@ -73,6 +86,19 @@ SvxObjectNameDialog::SvxObjectNameDialog( pEdtName->SetModifyHdl(LINK(this, SvxObjectNameDialog, ModifyHdl)); } +SvxObjectNameDialog::~SvxObjectNameDialog() +{ + dispose(); +} + +void SvxObjectNameDialog::dispose() +{ + pEdtName.clear(); + pBtnOK.clear(); + ModalDialog::dispose(); +} + + IMPL_LINK_NOARG(SvxObjectNameDialog, ModifyHdl) { if(aCheckNameHdl.IsSet()) @@ -105,6 +131,17 @@ SvxObjectTitleDescDialog::SvxObjectTitleDescDialog( pEdtTitle->SetSelection(Selection(SELECTION_MIN, SELECTION_MAX)); } +SvxObjectTitleDescDialog::~SvxObjectTitleDescDialog() +{ + dispose(); +} + +void SvxObjectTitleDescDialog::dispose() +{ + pEdtTitle.clear(); + pEdtDescription.clear(); + ModalDialog::dispose(); +} /************************************************************************* @@ -145,6 +182,10 @@ void SvxMessDialog::dispose() { delete pImage; pImage = NULL; + pFtDescription.clear(); + pBtn1.clear(); + pBtn2.clear(); + pFtImage.clear(); ModalDialog::dispose(); } diff --git a/cui/source/dialogs/hangulhanjadlg.cxx b/cui/source/dialogs/hangulhanjadlg.cxx index 6d8e10123d7f..273bffaa70f9 100644 --- a/cui/source/dialogs/hangulhanjadlg.cxx +++ b/cui/source/dialogs/hangulhanjadlg.cxx @@ -605,6 +605,35 @@ namespace svx m_pSuggestions->SetHelpIds(); } + HangulHanjaConversionDialog::~HangulHanjaConversionDialog() + { + dispose(); + } + + void HangulHanjaConversionDialog::dispose() + { + m_pFind.clear(); + m_pIgnore.clear(); + m_pIgnoreAll.clear(); + m_pReplace.clear(); + m_pReplaceAll.clear(); + m_pOptions.clear(); + m_pSuggestions.clear(); + m_pSimpleConversion.clear(); + m_pHangulBracketed.clear(); + m_pHanjaBracketed.clear(); + m_pWordInput.clear(); + m_pOriginalWord.clear(); + m_pHanjaAbove.clear(); + m_pHanjaBelow.clear(); + m_pHangulAbove.clear(); + m_pHangulBelow.clear(); + m_pHangulOnly.clear(); + m_pHanjaOnly.clear(); + m_pReplaceByChar.clear(); + m_pIgnoreNonPrimary.clear(); + ModalDialog::dispose(); + } void HangulHanjaConversionDialog::FillSuggestions( const ::com::sun::star::uno::Sequence< OUString >& _rSuggestions ) { @@ -1139,17 +1168,28 @@ namespace svx void HangulHanjaOptionsDialog::dispose() { - SvTreeListEntry* pEntry = m_pDictsLB->First(); - while( pEntry ) + if (m_pDictsLB) { - delete static_cast<OUString const *>(pEntry->GetUserData()); - pEntry->SetUserData(NULL); - pEntry = m_pDictsLB->Next( pEntry ); + SvTreeListEntry* pEntry = m_pDictsLB->First(); + while( pEntry ) + { + delete static_cast<OUString const *>(pEntry->GetUserData()); + pEntry->SetUserData( NULL ); + pEntry = m_pDictsLB->Next( pEntry ); + } } delete m_pCheckButtonData; m_pCheckButtonData = NULL; + m_pDictsLB.clear(); + m_pIgnorepostCB.clear(); + m_pShowrecentlyfirstCB.clear(); + m_pAutoreplaceuniqueCB.clear(); + m_pNewPB.clear(); + m_pEditPB.clear(); + m_pDeletePB.clear(); + m_pOkPB.clear(); ModalDialog::dispose(); } @@ -1197,6 +1237,18 @@ namespace svx m_pDictNameED->SetModifyHdl( LINK( this, HangulHanjaNewDictDialog, ModifyHdl ) ); } + HangulHanjaNewDictDialog::~HangulHanjaNewDictDialog() + { + dispose(); + } + + void HangulHanjaNewDictDialog::dispose() + { + m_pDictNameED.clear(); + m_pOkBtn.clear(); + ModalDialog::dispose(); + } + bool HangulHanjaNewDictDialog::GetName( OUString& _rRetName ) const { if( m_bEntered ) @@ -1372,6 +1424,19 @@ namespace svx { } + SuggestionEdit::~SuggestionEdit() + { + dispose(); + } + + void SuggestionEdit::dispose() + { + m_pPrev.clear(); + m_pNext.clear(); + m_pScrollBar.clear(); + Edit::dispose(); + } + bool SuggestionEdit::PreNotify( NotifyEvent& rNEvt ) { bool nHandled = false; @@ -1787,6 +1852,15 @@ namespace svx { delete m_pSuggestions; m_pSuggestions = NULL; + m_aBookLB.clear(); + m_aOriginalLB.clear(); + m_aEdit1.clear(); + m_aEdit2.clear(); + m_aEdit3.clear(); + m_aEdit4.clear(); + m_aScrollSB.clear(); + m_aNewPB.clear(); + m_aDeletePB.clear(); ModalDialog::dispose(); } diff --git a/cui/source/dialogs/hldocntp.cxx b/cui/source/dialogs/hldocntp.cxx index ad1e7fafc64b..a02ff7d2eccd 100644 --- a/cui/source/dialogs/hldocntp.cxx +++ b/cui/source/dialogs/hldocntp.cxx @@ -140,6 +140,11 @@ void SvxHyperlinkNewDocTp::dispose() delete static_cast<DocumentTypeData*>(m_pLbDocTypes->GetEntryData ( n )); m_pLbDocTypes = NULL; } + m_pRbtEditNow.clear(); + m_pRbtEditLater.clear(); + m_pCbbPath.clear(); + m_pBtCreate.clear(); + m_pLbDocTypes.clear(); SvxHyperlinkTabPageBase::dispose(); } diff --git a/cui/source/dialogs/hldoctp.cxx b/cui/source/dialogs/hldoctp.cxx index 2e45746d7684..0a3f26922171 100644 --- a/cui/source/dialogs/hldoctp.cxx +++ b/cui/source/dialogs/hldoctp.cxx @@ -71,6 +71,21 @@ SvxHyperlinkDocTp::SvxHyperlinkDocTp ( vcl::Window *pParent, IconChoiceDialog* p maTimer.SetTimeoutHdl ( LINK ( this, SvxHyperlinkDocTp, TimeoutHdl_Impl ) ); } +SvxHyperlinkDocTp::~SvxHyperlinkDocTp() +{ + dispose(); +} + +void SvxHyperlinkDocTp::dispose() +{ + m_pCbbPath.clear(); + m_pBtFileopen.clear(); + m_pEdTarget.clear(); + m_pFtFullURL.clear(); + m_pBtBrowse.clear(); + SvxHyperlinkTabPageBase::dispose(); +} + /************************************************************************* |* |* Fill all dialog-controls except controls in groupbox "more..." diff --git a/cui/source/dialogs/hlinettp.cxx b/cui/source/dialogs/hlinettp.cxx index 73ea0ddc6220..61760d772156 100644 --- a/cui/source/dialogs/hlinettp.cxx +++ b/cui/source/dialogs/hlinettp.cxx @@ -81,6 +81,25 @@ SvxHyperlinkInternetTp::SvxHyperlinkInternetTp ( vcl::Window *pParent, maTimer.SetTimeoutHdl ( LINK ( this, SvxHyperlinkInternetTp, TimeoutHdl_Impl ) ); } +SvxHyperlinkInternetTp::~SvxHyperlinkInternetTp() +{ + dispose(); +} + +void SvxHyperlinkInternetTp::dispose() +{ + m_pRbtLinktypInternet.clear(); + m_pRbtLinktypFTP.clear(); + m_pCbbTarget.clear(); + m_pBtBrowse.clear(); + m_pFtLogin.clear(); + m_pEdLogin.clear(); + m_pFtPassword.clear(); + m_pEdPassword.clear(); + m_pCbAnonymous.clear(); + SvxHyperlinkTabPageBase::dispose(); +} + /************************************************************************* |* |* Fill the all dialog-controls except controls in groupbox "more..." @@ -397,7 +416,7 @@ IMPL_LINK_NOARG(SvxHyperlinkInternetTp, ClickBrowseHdl_Impl) SfxBoolItem aBrowse( SID_BROWSE, true ); const SfxPoolItem *ppItems[] = { &aName, &aNewView, &aSilent, &aReadOnly, &aRefererItem, &aBrowse, NULL }; - static_cast<SvxHpLinkDlg*>(mpDialog)->GetBindings()->Execute( SID_OPENDOC, ppItems, 0, SfxCallMode::ASYNCHRON | SfxCallMode::RECORD ); + static_cast<SvxHpLinkDlg*>(mpDialog.get())->GetBindings()->Execute( SID_OPENDOC, ppItems, 0, SfxCallMode::ASYNCHRON | SfxCallMode::RECORD ); return 0L; } diff --git a/cui/source/dialogs/hlmailtp.cxx b/cui/source/dialogs/hlmailtp.cxx index d110b292a73d..6e1da44b6fe4 100644 --- a/cui/source/dialogs/hlmailtp.cxx +++ b/cui/source/dialogs/hlmailtp.cxx @@ -66,6 +66,20 @@ SvxHyperlinkMailTp::SvxHyperlinkMailTp ( vcl::Window *pParent, IconChoiceDialog* m_pBtAdrBook->Hide(); } +SvxHyperlinkMailTp::~SvxHyperlinkMailTp() +{ + dispose(); +} + +void SvxHyperlinkMailTp::dispose() +{ + m_pCbbReceiver.clear(); + m_pBtAdrBook.clear(); + m_pFtSubject.clear(); + m_pEdSubject.clear(); + SvxHyperlinkTabPageBase::dispose(); +} + /************************************************************************* |* |* Fill the all dialog-controls except controls in groupbox "more..." diff --git a/cui/source/dialogs/hlmarkwn.cxx b/cui/source/dialogs/hlmarkwn.cxx index 02058c78c0ed..bfe9c67a1d60 100644 --- a/cui/source/dialogs/hlmarkwn.cxx +++ b/cui/source/dialogs/hlmarkwn.cxx @@ -72,6 +72,17 @@ SvxHlmarkTreeLBox::SvxHlmarkTreeLBox(vcl::Window* pParent, WinBits nStyle) SetNodeDefaultImages(); } +SvxHlmarkTreeLBox::~SvxHlmarkTreeLBox() +{ + dispose(); +} + +void SvxHlmarkTreeLBox::dispose() +{ + mpParentWnd.clear(); + SvTreeListBox::dispose(); +} + extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeSvxHlmarkTreeLBox(vcl::Window *pParent, VclBuilder::stringmap &rMap) { WinBits nWinStyle = WB_TABSTOP; @@ -156,6 +167,10 @@ SvxHlinkDlgMarkWnd::~SvxHlinkDlgMarkWnd() void SvxHlinkDlgMarkWnd::dispose() { ClearTree(); + mpBtApply.clear(); + mpBtClose.clear(); + mpLbTree.clear(); + mpParent.clear(); ModalDialog::dispose(); } diff --git a/cui/source/dialogs/hltpbase.cxx b/cui/source/dialogs/hltpbase.cxx index 804442321f1d..7bc162e4c3f8 100644 --- a/cui/source/dialogs/hltpbase.cxx +++ b/cui/source/dialogs/hltpbase.cxx @@ -114,9 +114,13 @@ void SvxHyperlinkTabPageBase::dispose() { maTimer.Stop(); - delete mpMarkWnd; - mpMarkWnd = NULL; - + mpCbbFrame.clear(); + mpLbForm.clear(); + mpEdIndication.clear(); + mpEdText.clear(); + mpBtScript.clear(); + mpDialog.clear(); + mpMarkWnd.clear(); IconChoicePage::dispose(); } @@ -291,13 +295,13 @@ void SvxHyperlinkTabPageBase::SetInitFocus() // Ask dialog whether the curretn doc is a HTML-doc bool SvxHyperlinkTabPageBase::IsHTMLDoc() const { - return static_cast<SvxHpLinkDlg*>(mpDialog)->IsHTMLDoc(); + return static_cast<SvxHpLinkDlg*>(mpDialog.get())->IsHTMLDoc(); } // retrieve dispatcher SfxDispatcher* SvxHyperlinkTabPageBase::GetDispatcher() const { - return static_cast<SvxHpLinkDlg*>(mpDialog)->GetDispatcher(); + return static_cast<SvxHpLinkDlg*>(mpDialog.get())->GetDispatcher(); } // Click on imagebutton : Script diff --git a/cui/source/dialogs/hyphen.cxx b/cui/source/dialogs/hyphen.cxx index af6d29876456..8c4ea99822f4 100644 --- a/cui/source/dialogs/hyphen.cxx +++ b/cui/source/dialogs/hyphen.cxx @@ -512,6 +512,24 @@ SvxHyphenWordDialog::SvxHyphenWordDialog( Enable( false ); } +SvxHyphenWordDialog::~SvxHyphenWordDialog() +{ + dispose(); +} + +void SvxHyphenWordDialog::dispose() +{ + m_pWordEdit.clear(); + m_pLeftBtn.clear(); + m_pRightBtn.clear(); + m_pOkBtn.clear(); + m_pContBtn.clear(); + m_pDelBtn.clear(); + m_pHyphAll.clear(); + m_pCloseBtn.clear(); + SfxModalDialog::dispose(); +} + void SvxHyphenWordDialog::SetWindowTitle( LanguageType nLang ) { diff --git a/cui/source/dialogs/iconcdlg.cxx b/cui/source/dialogs/iconcdlg.cxx index 0a1c70e7d70b..712d78fa969f 100644 --- a/cui/source/dialogs/iconcdlg.cxx +++ b/cui/source/dialogs/iconcdlg.cxx @@ -52,6 +52,16 @@ IconChoicePage::IconChoicePage( vcl::Window *pParent, const OString& rID, } +IconChoicePage::~IconChoicePage() +{ + dispose(); +} + +void IconChoicePage::dispose() +{ + pDialog.clear(); + TabPage::dispose(); +} /********************************************************************** | @@ -246,7 +256,6 @@ void IconChoiceDialog::dispose() SvxIconChoiceCtrlEntry* pEntry = m_pIconCtrl->GetEntry ( i ); delete static_cast<sal_uInt16*>(pEntry->GetUserData()); } - m_pIconCtrl = NULL; } delete pRanges; @@ -254,6 +263,13 @@ void IconChoiceDialog::dispose() delete pOutSet; pOutSet = NULL; + m_pIconCtrl.clear(); + m_pOKBtn.clear(); + m_pApplyBtn.clear(); + m_pCancelBtn.clear(); + m_pHelpBtn.clear(); + m_pResetBtn.clear(); + m_pTabContainer.clear(); ModalDialog::dispose(); } @@ -540,7 +556,7 @@ bool IconChoiceDialog::DeActivatePageImpl () for ( size_t i = 0, nCount = maPageList.size(); i < nCount; ++i ) { IconChoicePageData* pObj = maPageList[ i ]; - if ( pObj->pPage != pPage ) + if ( pObj->pPage.get() != pPage ) pObj->bRefresh = true; else pObj->bRefresh = false; diff --git a/cui/source/dialogs/insdlg.cxx b/cui/source/dialogs/insdlg.cxx index 4131c40c5c8a..db3bf1fef153 100644 --- a/cui/source/dialogs/insdlg.cxx +++ b/cui/source/dialogs/insdlg.cxx @@ -191,6 +191,24 @@ SvInsertOleDlg::SvInsertOleDlg RadioHdl( NULL ); } +SvInsertOleDlg::~SvInsertOleDlg() +{ + dispose(); +} + +void SvInsertOleDlg::dispose() +{ + m_pRbNewObject.clear(); + m_pRbObjectFromfile.clear(); + m_pObjectTypeFrame.clear(); + m_pLbObjecttype.clear(); + m_pFileFrame.clear(); + m_pEdFilepath.clear(); + m_pBtnFilepath.clear(); + m_pCbFilelink.clear(); + InsertObjectDialog_Impl::dispose(); +} + short SvInsertOleDlg::Execute() { short nRet = RET_OK; @@ -402,6 +420,9 @@ void SvInsertPlugInDialog::dispose() { delete m_pURL; m_pURL = NULL; + m_pEdFileurl.clear(); + m_pBtnFileurl.clear(); + m_pEdPluginsOptions.clear(); InsertObjectDialog_Impl::dispose(); } @@ -494,6 +515,30 @@ SfxInsertFloatingFrameDialog::SfxInsertFloatingFrameDialog( vcl::Window *pParent Init(); } +SfxInsertFloatingFrameDialog::~SfxInsertFloatingFrameDialog() +{ + dispose(); +} + +void SfxInsertFloatingFrameDialog::dispose() +{ + m_pEDName.clear(); + m_pEDURL.clear(); + m_pBTOpen.clear(); + m_pRBScrollingOn.clear(); + m_pRBScrollingOff.clear(); + m_pRBScrollingAuto.clear(); + m_pRBFrameBorderOn.clear(); + m_pRBFrameBorderOff.clear(); + m_pFTMarginWidth.clear(); + m_pNMMarginWidth.clear(); + m_pCBMarginWidthDefault.clear(); + m_pFTMarginHeight.clear(); + m_pNMMarginHeight.clear(); + m_pCBMarginHeightDefault.clear(); + InsertObjectDialog_Impl::dispose(); +} + void SfxInsertFloatingFrameDialog::Init() { get(m_pEDName, "edname"); diff --git a/cui/source/dialogs/insrc.cxx b/cui/source/dialogs/insrc.cxx index c3c167cca62d..75e85733940b 100644 --- a/cui/source/dialogs/insrc.cxx +++ b/cui/source/dialogs/insrc.cxx @@ -45,6 +45,19 @@ SvxInsRowColDlg::SvxInsRowColDlg(vcl::Window* pParent, bool bCol, const OString& SetHelpId( sHelpId ); } +SvxInsRowColDlg::~SvxInsRowColDlg() +{ + dispose(); +} + +void SvxInsRowColDlg::dispose() +{ + m_pCountEdit.clear(); + m_pBeforeBtn.clear(); + m_pAfterBtn.clear(); + ModalDialog::dispose(); +} + short SvxInsRowColDlg::Execute(void) { return ModalDialog::Execute(); diff --git a/cui/source/dialogs/linkdlg.cxx b/cui/source/dialogs/linkdlg.cxx index 95c348d0a364..68a9c19b375b 100644 --- a/cui/source/dialogs/linkdlg.cxx +++ b/cui/source/dialogs/linkdlg.cxx @@ -143,6 +143,26 @@ SvBaseLinksDlg::SvBaseLinksDlg( vcl::Window * pParent, LinkManager* pMgr, bool b SetManager( pMgr ); } +SvBaseLinksDlg::~SvBaseLinksDlg() +{ + dispose(); +} + +void SvBaseLinksDlg::dispose() +{ + m_pTbLinks.clear(); + m_pFtFullFileName.clear(); + m_pFtFullSourceName.clear(); + m_pFtFullTypeName.clear(); + m_pRbAutomatic.clear(); + m_pRbManual.clear(); + m_pPbUpdateNow.clear(); + m_pPbOpenSource.clear(); + m_pPbChangeSource.clear(); + m_pPbBreakLink.clear(); + ModalDialog::dispose(); +} + /************************************************************************* |* SvBaseLinksDlg::Handler() *************************************************************************/ diff --git a/cui/source/dialogs/multipat.cxx b/cui/source/dialogs/multipat.cxx index ebb8fcdca031..9cbbef5f2160 100644 --- a/cui/source/dialogs/multipat.cxx +++ b/cui/source/dialogs/multipat.cxx @@ -229,16 +229,19 @@ SvxMultiPathDialog::~SvxMultiPathDialog() void SvxMultiPathDialog::dispose() { - sal_uInt16 nPos = (sal_uInt16)m_pRadioLB->GetEntryCount(); - while ( nPos-- ) + if (m_pRadioLB) { - SvTreeListEntry* pEntry = m_pRadioLB->GetEntry( nPos ); - delete static_cast<OUString*>(pEntry->GetUserData()); + sal_uInt16 nPos = (sal_uInt16)m_pRadioLB->GetEntryCount(); + while ( nPos-- ) + { + SvTreeListEntry* pEntry = m_pRadioLB->GetEntry( nPos ); + delete static_cast<OUString*>(pEntry->GetUserData()); + } } - delete m_pRadioLB; - m_pRadioLB = NULL; - + m_pRadioLB.clear(); + m_pAddBtn.clear(); + m_pDelBtn.clear(); ModalDialog::dispose(); } @@ -254,8 +257,10 @@ void SvxPathSelectDialog::dispose() sal_uInt16 nPos = m_pPathLB->GetEntryCount(); while ( nPos-- ) delete static_cast<OUString*>(m_pPathLB->GetEntryData(nPos)); - m_pPathLB = NULL; } + m_pPathLB.clear(); + m_pAddBtn.clear(); + m_pDelBtn.clear(); ModalDialog::dispose(); } diff --git a/cui/source/dialogs/newtabledlg.cxx b/cui/source/dialogs/newtabledlg.cxx index ab9058c0c975..3c2cba513fef 100644 --- a/cui/source/dialogs/newtabledlg.cxx +++ b/cui/source/dialogs/newtabledlg.cxx @@ -28,6 +28,18 @@ SvxNewTableDialog::SvxNewTableDialog( vcl::Window* pParent ) get(mpNumColumns, "columns"); } +SvxNewTableDialog::~SvxNewTableDialog() +{ + dispose(); +} + +void SvxNewTableDialog::dispose() +{ + mpNumColumns.clear(); + mpNumRows.clear(); + ModalDialog::dispose(); +} + short SvxNewTableDialog::Execute(void) { return ModalDialog::Execute(); diff --git a/cui/source/dialogs/passwdomdlg.cxx b/cui/source/dialogs/passwdomdlg.cxx index ccba00009552..ad4e26bfc711 100644 --- a/cui/source/dialogs/passwdomdlg.cxx +++ b/cui/source/dialogs/passwdomdlg.cxx @@ -31,15 +31,15 @@ struct PasswordToOpenModifyDialog_Impl { - PasswordToOpenModifyDialog * m_pParent; - - Edit* m_pPasswdToOpenED; - Edit* m_pReenterPasswdToOpenED; - VclExpander* m_pOptionsExpander; - OKButton* m_pOk; - CheckBox* m_pOpenReadonlyCB; - Edit* m_pPasswdToModifyED; - Edit* m_pReenterPasswdToModifyED; + VclPtr<PasswordToOpenModifyDialog> m_pParent; + + VclPtr<Edit> m_pPasswdToOpenED; + VclPtr<Edit> m_pReenterPasswdToOpenED; + VclPtr<VclExpander> m_pOptionsExpander; + VclPtr<OKButton> m_pOk; + VclPtr<CheckBox> m_pOpenReadonlyCB; + VclPtr<Edit> m_pPasswdToModifyED; + VclPtr<Edit> m_pReenterPasswdToModifyED; OUString m_aOneMismatch; OUString m_aTwoMismatch; diff --git a/cui/source/dialogs/pastedlg.cxx b/cui/source/dialogs/pastedlg.cxx index 90610557f6fb..f7ae8397c63b 100644 --- a/cui/source/dialogs/pastedlg.cxx +++ b/cui/source/dialogs/pastedlg.cxx @@ -52,6 +52,19 @@ SvPasteObjectDialog::SvPasteObjectDialog( vcl::Window* pParent ) ObjectLB().SetDoubleClickHdl( LINK( this, SvPasteObjectDialog, DoubleClickHdl ) ); } +SvPasteObjectDialog::~SvPasteObjectDialog() +{ + dispose(); +} + +void SvPasteObjectDialog::dispose() +{ + m_pFtObjectSource.clear(); + m_pLbInsertList.clear(); + m_pOKButton.clear(); + ModalDialog::dispose(); +} + void SvPasteObjectDialog::SelectObject() { if (m_pLbInsertList->GetEntryCount()) diff --git a/cui/source/dialogs/postdlg.cxx b/cui/source/dialogs/postdlg.cxx index 86d0e5812f32..175d889a1e71 100644 --- a/cui/source/dialogs/postdlg.cxx +++ b/cui/source/dialogs/postdlg.cxx @@ -131,6 +131,13 @@ void SvxPostItDialog::dispose() { delete pOutSet; pOutSet = 0; + m_pLastEditFT.clear(); + m_pEditED.clear(); + m_pInsertAuthor.clear(); + m_pAuthorBtn.clear(); + m_pOKBtn.clear(); + m_pPrevBtn.clear(); + m_pNextBtn.clear(); SfxModalDialog::dispose(); } diff --git a/cui/source/dialogs/scriptdlg.cxx b/cui/source/dialogs/scriptdlg.cxx index 4013f71e6925..a5db7a283c0b 100644 --- a/cui/source/dialogs/scriptdlg.cxx +++ b/cui/source/dialogs/scriptdlg.cxx @@ -443,6 +443,17 @@ CuiInputDialog::CuiInputDialog(vcl::Window * pParent, sal_uInt16 nMode ) } } +CuiInputDialog::~CuiInputDialog() +{ + dispose(); +} + +void CuiInputDialog::dispose() +{ + m_pEdit.clear(); + ModalDialog::dispose(); +} + // ScriptOrgDialog ------------------------------------------------------------ @@ -500,6 +511,13 @@ void SvxScriptOrgDialog::dispose() { // clear the SelectHdl so that it isn't called during the dtor m_pScriptsBox->SetSelectHdl( Link() ); + m_pScriptsBox.clear(); + m_pRunButton.clear(); + m_pCloseButton.clear(); + m_pCreateButton.clear(); + m_pEditButton.clear(); + m_pRenameButton.clear(); + m_pDelButton.clear(); SfxModalDialog::dispose(); }; diff --git a/cui/source/dialogs/showcols.cxx b/cui/source/dialogs/showcols.cxx index 94e286ecd92d..a58c9417bffa 100644 --- a/cui/source/dialogs/showcols.cxx +++ b/cui/source/dialogs/showcols.cxx @@ -39,6 +39,17 @@ FmShowColsDialog::FmShowColsDialog(vcl::Window* pParent) m_pOK->SetClickHdl( LINK( this, FmShowColsDialog, OnClickedOk ) ); } +FmShowColsDialog::~FmShowColsDialog() +{ + dispose(); +} + +void FmShowColsDialog::dispose() +{ + m_pList.clear(); + m_pOK.clear(); + ModalDialog::dispose(); +} IMPL_LINK_NOARG(FmShowColsDialog, OnClickedOk) { diff --git a/cui/source/dialogs/splitcelldlg.cxx b/cui/source/dialogs/splitcelldlg.cxx index edce7998effe..171ea3a1bdc9 100644 --- a/cui/source/dialogs/splitcelldlg.cxx +++ b/cui/source/dialogs/splitcelldlg.cxx @@ -53,6 +53,20 @@ SvxSplitTableDlg::SvxSplitTableDlg( vcl::Window *pParent, bool bIsTableVertical, } } +SvxSplitTableDlg::~SvxSplitTableDlg() +{ + dispose(); +} + +void SvxSplitTableDlg::dispose() +{ + m_pCountEdit.clear(); + m_pHorzBox.clear(); + m_pVertBox.clear(); + m_pPropCB.clear(); + SvxStandardDialog::dispose(); +} + IMPL_LINK( SvxSplitTableDlg, ClickHdl, Button *, pButton ) { const bool bIsVert = pButton == m_pVertBox ; diff --git a/cui/source/dialogs/srchxtra.cxx b/cui/source/dialogs/srchxtra.cxx index bb797e3d4dd8..4d1541347c71 100644 --- a/cui/source/dialogs/srchxtra.cxx +++ b/cui/source/dialogs/srchxtra.cxx @@ -178,6 +178,17 @@ SvxSearchAttributeDialog::SvxSearchAttributeDialog(vcl::Window* pParent, m_pAttrLB->SelectEntryPos( 0 ); } +SvxSearchAttributeDialog::~SvxSearchAttributeDialog() +{ + dispose(); +} + +void SvxSearchAttributeDialog::dispose() +{ + m_pAttrLB.clear(); + m_pOKBtn.clear(); + ModalDialog::dispose(); +} IMPL_LINK_NOARG(SvxSearchAttributeDialog, OKHdl) @@ -248,4 +259,18 @@ SvxSearchSimilarityDialog::SvxSearchSimilarityDialog m_pRelaxBox->Check( bRelax ); } +SvxSearchSimilarityDialog::~SvxSearchSimilarityDialog() +{ + dispose(); +} + +void SvxSearchSimilarityDialog::dispose() +{ + m_pOtherFld.clear(); + m_pLongerFld.clear(); + m_pShorterFld.clear(); + m_pRelaxBox.clear(); + ModalDialog::dispose(); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/dialogs/thesdlg.cxx b/cui/source/dialogs/thesdlg.cxx index c0afe2a2c430..8a47ac55a292 100644 --- a/cui/source/dialogs/thesdlg.cxx +++ b/cui/source/dialogs/thesdlg.cxx @@ -66,6 +66,17 @@ LookUpComboBox::LookUpComboBox(vcl::Window *pParent) EnableAutocomplete( false ); } +LookUpComboBox::~LookUpComboBox() +{ + dispose(); +} + +void LookUpComboBox::dispose() +{ + m_pDialog.clear(); + ComboBox::dispose(); +} + extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeLookUpComboBox(vcl::Window *pParent, VclBuilder::stringmap &) { return new LookUpComboBox(pParent); @@ -96,6 +107,18 @@ ReplaceEdit::ReplaceEdit(vcl::Window *pParent) { } +ReplaceEdit::~ReplaceEdit() +{ + dispose(); +} + +void ReplaceEdit::dispose() +{ + m_pBtn.clear(); + Edit::dispose(); +} + + extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeReplaceEdit(vcl::Window *pParent, VclBuilder::stringmap &) { return new ReplaceEdit(pParent); @@ -176,6 +199,7 @@ ThesaurusAlternativesCtrl::~ThesaurusAlternativesCtrl() void ThesaurusAlternativesCtrl::dispose() { ClearExtraData(); + m_pDialog.clear(); SvxCheckListBox::dispose(); } @@ -514,6 +538,21 @@ SvxThesaurusDialog::SvxThesaurusDialog( Enable( false ); } +SvxThesaurusDialog::~SvxThesaurusDialog() +{ + dispose(); +} + +void SvxThesaurusDialog::dispose() +{ + m_pLeftBtn.clear(); + m_pWordCB.clear(); + m_pAlternativesCT.clear(); + m_pReplaceEdit.clear(); + m_pLangLB.clear(); + SvxStandardDialog::dispose(); +} + IMPL_LINK( SvxThesaurusDialog, ReplaceBtnHdl_Impl, Button *, EMPTYARG /*pBtn*/ ) { EndDialog(RET_OK); diff --git a/cui/source/dialogs/zoom.cxx b/cui/source/dialogs/zoom.cxx index 190a0619b7d7..451de5506da4 100644 --- a/cui/source/dialogs/zoom.cxx +++ b/cui/source/dialogs/zoom.cxx @@ -297,6 +297,19 @@ void SvxZoomDialog::dispose() { delete pOutSet; pOutSet = 0; + m_pOptimalBtn.clear(); + m_pWholePageBtn.clear(); + m_pPageWidthBtn.clear(); + m_p100Btn.clear(); + m_pUserBtn.clear(); + m_pUserEdit.clear(); + m_pViewFrame.clear(); + m_pAutomaticBtn.clear(); + m_pSingleBtn.clear(); + m_pColumnsBtn.clear(); + m_pColumnsEdit.clear(); + m_pBookModeChk.clear(); + m_pOKBtn.clear(); SfxModalDialog::dispose(); } |