avmedia/source/framework/mediacontrol.cxx | 1 avmedia/source/viewer/mediawindow_impl.cxx | 3 basctl/source/basicide/baside2b.cxx | 8 +- basctl/source/basicide/baside3.cxx | 1 basctl/source/basicide/bastype2.cxx | 3 basctl/source/basicide/macrodlg.cxx | 3 basctl/source/basicide/moduldl2.cxx | 16 +++-- basctl/source/basicide/moduldlg.cxx | 9 ++ basctl/source/basicide/objdlg.cxx | 3 chart2/source/controller/dialogs/dlg_ChartType.cxx | 1 chart2/source/controller/dialogs/dlg_DataSource.cxx | 11 ++- chart2/source/controller/dialogs/dlg_ObjectProperties.cxx | 2 chart2/source/controller/dialogs/dlg_View3D.cxx | 3 chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx | 1 chart2/source/controller/dialogs/tp_AxisLabel.cxx | 1 chart2/source/controller/dialogs/tp_ChartType.cxx | 6 + chart2/source/controller/dialogs/tp_PointGeometry.cxx | 1 chart2/source/controller/dialogs/tp_TitleRotation.cxx | 1 connectivity/source/drivers/file/fcomp.cxx | 2 cui/source/customize/acccfg.cxx | 2 cui/source/customize/cfg.cxx | 35 ++++++----- cui/source/dialogs/SpellDialog.cxx | 16 ++--- cui/source/dialogs/colorpicker.cxx | 2 cui/source/dialogs/cuifmsearch.cxx | 9 +- cui/source/dialogs/cuigaldlg.cxx | 4 - cui/source/dialogs/cuihyperdlg.cxx | 2 cui/source/dialogs/dlgname.cxx | 1 cui/source/dialogs/hangulhanjadlg.cxx | 15 ++-- cui/source/dialogs/hldocntp.cxx | 12 ++- cui/source/dialogs/hltpbase.cxx | 2 cui/source/dialogs/iconcdlg.cxx | 19 ++++- cui/source/dialogs/insdlg.cxx | 3 cui/source/dialogs/multipat.cxx | 12 ++- cui/source/dialogs/srchxtra.cxx | 1 cui/source/options/certpath.cxx | 1 cui/source/options/dbregister.cxx | 1 cui/source/options/fontsubs.cxx | 3 cui/source/options/optaccessibility.cxx | 1 cui/source/options/optasian.cxx | 1 cui/source/options/optchart.cxx | 13 ++-- cui/source/options/optcolor.cxx | 32 +++++----- cui/source/options/optfltr.cxx | 2 cui/source/options/optgdlg.cxx | 4 + cui/source/options/optinet2.cxx | 5 + cui/source/options/optjava.cxx | 16 +++-- cui/source/options/optlingu.cxx | 10 --- cui/source/options/optpath.cxx | 13 ++-- cui/source/options/optsave.cxx | 3 cui/source/options/treeopt.cxx | 6 + cui/source/options/webconninfo.cxx | 2 cui/source/tabpages/align.cxx | 1 cui/source/tabpages/autocdlg.cxx | 19 ++++- cui/source/tabpages/backgrnd.cxx | 14 +++- cui/source/tabpages/chardlg.cxx | 3 cui/source/tabpages/numfmt.cxx | 2 cui/source/tabpages/numpages.cxx | 19 +++++ cui/source/tabpages/page.cxx | 2 cui/source/tabpages/tpbitmap.cxx | 3 cui/source/tabpages/tpcolor.cxx | 3 cui/source/tabpages/tpline.cxx | 13 ++-- fpicker/source/office/PlacesListBox.cxx | 3 sfx2/source/dialog/basedlgs.cxx | 5 - starmath/source/edit.cxx | 7 +- starmath/source/toolbox.cxx | 5 + svtools/source/brwbox/brwbox1.cxx | 1 svtools/source/control/headbar.cxx | 13 +--- svx/source/dialog/docrecovery.cxx | 1 svx/source/fmcomp/fmgridcl.cxx | 2 svx/source/fmcomp/gridctrl.cxx | 7 +- sw/source/core/view/viewsh.cxx | 2 sw/source/uibase/docvw/edtwin.cxx | 2 vcl/source/control/button.cxx | 9 +- vcl/source/control/tabctrl.cxx | 4 - vcl/source/window/accessibility.cxx | 2 vcl/source/window/dialog.cxx | 8 +- 75 files changed, 322 insertions(+), 152 deletions(-)
New commits: commit d0222588856288693b48cb5bee5f2d1f91523534 Author: Michael Meeks <michael.me...@collabora.com> Date: Mon Mar 2 22:02:19 2015 +0000 prophylactic double dispose audit. Change-Id: Ia18c0b7a76fb0894efe33afaf69a0079c4583228 diff --git a/avmedia/source/framework/mediacontrol.cxx b/avmedia/source/framework/mediacontrol.cxx index f8ee3cb..55ccc2a 100644 --- a/avmedia/source/framework/mediacontrol.cxx +++ b/avmedia/source/framework/mediacontrol.cxx @@ -203,6 +203,7 @@ void MediaControl::dispose() { maZoomToolBox->SetItemWindow( AVMEDIA_TOOLBOXITEM_ZOOM, NULL ); delete mpZoomListBox; + mpZoomListBox = NULL; maTimeEdit.disposeAndClear(); maZoomToolBox.disposeAndClear(); maVolumeSlider.disposeAndClear(); diff --git a/avmedia/source/viewer/mediawindow_impl.cxx b/avmedia/source/viewer/mediawindow_impl.cxx index 73a05ac..edfed72 100644 --- a/avmedia/source/viewer/mediawindow_impl.cxx +++ b/avmedia/source/viewer/mediawindow_impl.cxx @@ -201,8 +201,11 @@ void MediaWindowImpl::dispose() mpMediaWindow = NULL; delete mpEmptyBmpEx; + mpEmptyBmpEx = NULL; delete mpAudioBmpEx; + mpAudioBmpEx = NULL; delete mpMediaWindowControl; + mpMediaWindowControl = NULL; Control::dispose(); } diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx index 4783a1b..b7c58ab 100644 --- a/basctl/source/basicide/baside2b.cxx +++ b/basctl/source/basicide/baside2b.cxx @@ -1661,7 +1661,8 @@ void WatchWindow::dispose() aRemoveWatchButton.disposeAndClear(); aHeaderBar.disposeAndClear(); aTreeListBox.disposeAndClear(); - GetSystemWindow()->GetTaskPaneList()->RemoveWindow( this ); + if (!IsDisposed()) + GetSystemWindow()->GetTaskPaneList()->RemoveWindow( this ); DockingWindow::dispose(); } @@ -1906,7 +1907,8 @@ StackWindow::~StackWindow() void StackWindow::dispose() { - GetSystemWindow()->GetTaskPaneList()->RemoveWindow( this ); + if (!IsDisposed()) + GetSystemWindow()->GetTaskPaneList()->RemoveWindow( this ); aTreeListBox.disposeAndClear(); DockingWindow::dispose(); } @@ -2155,6 +2157,7 @@ void WatchTreeListBox::dispose() while ( pEntry ) { delete (WatchItem*)pEntry->GetUserData(); + pEntry->SetUserData(NULL); pEntry = Next( pEntry ); } SvHeaderTabListBox::dispose(); @@ -2833,6 +2836,7 @@ CodeCompleteWindow::~CodeCompleteWindow() void CodeCompleteWindow::dispose() { delete pListBox; + pListBox = NULL; vcl::Window::dispose(); } diff --git a/basctl/source/basicide/baside3.cxx b/basctl/source/basicide/baside3.cxx index 1faacbf..e8025f8 100644 --- a/basctl/source/basicide/baside3.cxx +++ b/basctl/source/basicide/baside3.cxx @@ -1417,6 +1417,7 @@ void DialogWindowLayout::dispose() { Remove(pPropertyBrowser); delete pPropertyBrowser; + pPropertyBrowser = 0; } Layout::dispose(); } diff --git a/basctl/source/basicide/bastype2.cxx b/basctl/source/basicide/bastype2.cxx index 8abf230..feb01c0 100644 --- a/basctl/source/basicide/bastype2.cxx +++ b/basctl/source/basicide/bastype2.cxx @@ -217,7 +217,8 @@ void TreeListBox::dispose() SvTreeListEntry* pEntry = First(); while ( pEntry ) { - delete static_cast<Entry*>(pEntry->GetUserData()); + delete static_cast<Entry*>( pEntry->GetUserData() ); + pEntry->SetUserData( NULL ); pEntry = Next( pEntry ); } SvTreeListBox::dispose(); diff --git a/basctl/source/basicide/macrodlg.cxx b/basctl/source/basicide/macrodlg.cxx index 53355ef..31d8bcc 100644 --- a/basctl/source/basicide/macrodlg.cxx +++ b/basctl/source/basicide/macrodlg.cxx @@ -118,7 +118,10 @@ MacroChooser::~MacroChooser() void MacroChooser::dispose() { if ( bForceStoreBasic ) + { SfxGetpApp()->SaveBasicAndDialogContainer(); + bForceStoreBasic = false; + } SfxModalDialog::dispose(); } diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx index a3055f7..5b0d96b 100644 --- a/basctl/source/basicide/moduldl2.cxx +++ b/basctl/source/basicide/moduldl2.cxx @@ -166,12 +166,14 @@ CheckBox::~CheckBox() void CheckBox::dispose() { delete pCheckButton; + pCheckButton = NULL; // delete user data SvTreeListEntry* pEntry = First(); while ( pEntry ) { - delete static_cast<LibUserData*>(pEntry->GetUserData()); + delete static_cast<LibUserData*>( pEntry->GetUserData() ); + pEntry->SetUserData( NULL ); pEntry = Next( pEntry ); } SvTabListBox::dispose(); @@ -486,11 +488,15 @@ LibPage::~LibPage() void LibPage::dispose() { - sal_uInt16 nCount = m_pBasicsBox->GetEntryCount(); - for ( sal_uInt16 i = 0; i < nCount; ++i ) + if (m_pBasicsBox) { - DocumentEntry* pEntry = (DocumentEntry*)m_pBasicsBox->GetEntryData( i ); - delete pEntry; + sal_uInt16 nCount = m_pBasicsBox->GetEntryCount(); + for ( sal_uInt16 i = 0; i < nCount; ++i ) + { + DocumentEntry* pEntry = (DocumentEntry*)m_pBasicsBox->GetEntryData( i ); + delete pEntry; + } + m_pBasicsBox = NULL; } TabPage::dispose(); } diff --git a/basctl/source/basicide/moduldlg.cxx b/basctl/source/basicide/moduldlg.cxx index e7f79cc..f577984 100644 --- a/basctl/source/basicide/moduldlg.cxx +++ b/basctl/source/basicide/moduldlg.cxx @@ -491,8 +491,13 @@ OrganizeDialog::~OrganizeDialog() void OrganizeDialog::dispose() { - for ( sal_uInt16 i = 0; i < m_pTabCtrl->GetPageCount(); i++ ) - delete m_pTabCtrl->GetTabPage( m_pTabCtrl->GetPageId( i ) ); + if (m_pTabCtrl) + { + for ( sal_uInt16 i = 0; i < m_pTabCtrl->GetPageCount(); i++ ) + delete m_pTabCtrl->GetTabPage( m_pTabCtrl->GetPageId( i ) ); + m_pTabCtrl = NULL; + } + TabDialog::dispose(); }; diff --git a/basctl/source/basicide/objdlg.cxx b/basctl/source/basicide/objdlg.cxx index 14d943f..8c29c63 100644 --- a/basctl/source/basicide/objdlg.cxx +++ b/basctl/source/basicide/objdlg.cxx @@ -74,7 +74,8 @@ ObjectCatalog::~ObjectCatalog() void ObjectCatalog::dispose() { - GetParent()->GetSystemWindow()->GetTaskPaneList()->RemoveWindow(this); + if (!IsDisposed()) + GetParent()->GetSystemWindow()->GetTaskPaneList()->RemoveWindow(this); aTitle.disposeAndClear(); aTree.disposeAndClear(); DockingWindow::dispose(); diff --git a/chart2/source/controller/dialogs/dlg_ChartType.cxx b/chart2/source/controller/dialogs/dlg_ChartType.cxx index 9ef9432d..33cf747 100644 --- a/chart2/source/controller/dialogs/dlg_ChartType.cxx +++ b/chart2/source/controller/dialogs/dlg_ChartType.cxx @@ -61,6 +61,7 @@ ChartTypeDialog::~ChartTypeDialog() void ChartTypeDialog::dispose() { delete m_pChartTypeTabPage; + m_pChartTypeTabPage = NULL; ModalDialog::dispose(); } diff --git a/chart2/source/controller/dialogs/dlg_DataSource.cxx b/chart2/source/controller/dialogs/dlg_DataSource.cxx index e59c95e..88c1a41 100644 --- a/chart2/source/controller/dialogs/dlg_DataSource.cxx +++ b/chart2/source/controller/dialogs/dlg_DataSource.cxx @@ -165,10 +165,15 @@ DataSourceDialog::~DataSourceDialog() void DataSourceDialog::dispose() { delete m_pRangeChooserTabePage; + m_pRangeChooserTabePage = NULL; delete m_pDataSourceTabPage; - - m_nLastPageId = m_pTabControl->GetCurPageId(); - delete m_pTabControl; + m_pDataSourceTabPage = NULL; + if (m_pTabControl) + { + m_nLastPageId = m_pTabControl->GetCurPageId(); + delete m_pTabControl; + m_pTabControl = NULL; + } TabDialog::dispose(); } diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx index 25b87fc..0a563e2 100644 --- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx +++ b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx @@ -487,7 +487,9 @@ SchAttribTabDlg::~SchAttribTabDlg() void SchAttribTabDlg::dispose() { delete m_pSymbolShapeProperties; + m_pSymbolShapeProperties = NULL; delete m_pAutoSymbolGraphic; + m_pAutoSymbolGraphic = NULL; SfxTabDialog::dispose(); } diff --git a/chart2/source/controller/dialogs/dlg_View3D.cxx b/chart2/source/controller/dialogs/dlg_View3D.cxx index aba6812..ad8122a 100644 --- a/chart2/source/controller/dialogs/dlg_View3D.cxx +++ b/chart2/source/controller/dialogs/dlg_View3D.cxx @@ -72,8 +72,11 @@ View3DDialog::~View3DDialog() void View3DDialog::dispose() { delete m_pGeometry; + m_pGeometry = NULL; delete m_pAppearance; + m_pAppearance = NULL; delete m_pIllumination; + m_pIllumination = NULL; m_nLastPageId = m_pTabControl->GetCurPageId(); TabDialog::dispose(); diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx index 2b1591d..fe440a0 100644 --- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx +++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx @@ -300,6 +300,7 @@ ThreeD_SceneIllumination_TabPage::~ThreeD_SceneIllumination_TabPage() void ThreeD_SceneIllumination_TabPage::dispose() { delete[] m_pLightSourceInfoList; + m_pLightSourceInfoList = NULL; TabPage::dispose(); } diff --git a/chart2/source/controller/dialogs/tp_AxisLabel.cxx b/chart2/source/controller/dialogs/tp_AxisLabel.cxx index 8aa58fa..58a1d1f 100644 --- a/chart2/source/controller/dialogs/tp_AxisLabel.cxx +++ b/chart2/source/controller/dialogs/tp_AxisLabel.cxx @@ -80,6 +80,7 @@ SchAxisLabelTabPage::~SchAxisLabelTabPage() void SchAxisLabelTabPage::dispose() { delete m_pOrientHlp; + m_pOrientHlp = NULL; SfxTabPage::dispose(); } diff --git a/chart2/source/controller/dialogs/tp_ChartType.cxx b/chart2/source/controller/dialogs/tp_ChartType.cxx index 2b41ab2..c717903 100644 --- a/chart2/source/controller/dialogs/tp_ChartType.cxx +++ b/chart2/source/controller/dialogs/tp_ChartType.cxx @@ -780,11 +780,17 @@ void ChartTypeTabPage::dispose() //delete all resource helper delete m_pDim3DLookResourceGroup; + m_pDim3DLookResourceGroup = NULL; delete m_pStackingResourceGroup; + m_pStackingResourceGroup = NULL; delete m_pSplineResourceGroup; + m_pSplineResourceGroup = NULL; delete m_pGeometryResourceGroup; + m_pGeometryResourceGroup = NULL; delete m_pSortByXValuesResourceGroup; + m_pSortByXValuesResourceGroup = NULL; delete m_pGL3DResourceGroup; + m_pGL3DResourceGroup = NULL; svt::OWizardPage::dispose(); } diff --git a/chart2/source/controller/dialogs/tp_PointGeometry.cxx b/chart2/source/controller/dialogs/tp_PointGeometry.cxx index c65ef3a..dc8e84c 100644 --- a/chart2/source/controller/dialogs/tp_PointGeometry.cxx +++ b/chart2/source/controller/dialogs/tp_PointGeometry.cxx @@ -45,6 +45,7 @@ SchLayoutTabPage::~SchLayoutTabPage() void SchLayoutTabPage::dispose() { delete m_pGeometryResources; + m_pGeometryResources = NULL; SfxTabPage::dispose(); } diff --git a/chart2/source/controller/dialogs/tp_TitleRotation.cxx b/chart2/source/controller/dialogs/tp_TitleRotation.cxx index 45ee087..a83373d 100644 --- a/chart2/source/controller/dialogs/tp_TitleRotation.cxx +++ b/chart2/source/controller/dialogs/tp_TitleRotation.cxx @@ -63,6 +63,7 @@ SchAlignmentTabPage::~SchAlignmentTabPage() void SchAlignmentTabPage::dispose() { delete m_pOrientHlp; + m_pOrientHlp = NULL; SfxTabPage::dispose(); } diff --git a/connectivity/source/drivers/file/fcomp.cxx b/connectivity/source/drivers/file/fcomp.cxx index 7a86ce3..6c9aeec 100644 --- a/connectivity/source/drivers/file/fcomp.cxx +++ b/connectivity/source/drivers/file/fcomp.cxx @@ -60,7 +60,7 @@ void OPredicateCompiler::dispose() { Clean(); m_orgColumns = NULL; -m_xIndexes.clear(); + m_xIndexes.clear(); } void OPredicateCompiler::start(OSQLParseNode* pSQLParseNode) diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx index a497a6b..f642520 100644 --- a/cui/source/customize/acccfg.cxx +++ b/cui/source/customize/acccfg.cxx @@ -842,6 +842,8 @@ void SfxAcceleratorConfigPage::dispose() m_pKeyBox->Clear(); delete m_pFileDlg; + m_pFileDlg = NULL; + SfxTabPage::dispose(); } diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx index 125390c..a048c40 100644 --- a/cui/source/customize/cfg.cxx +++ b/cui/source/customize/cfg.cxx @@ -2233,9 +2233,13 @@ void SvxMenuConfigPage::dispose() delete pData; } + m_pSaveInListBox->Clear(); delete m_pSelectorDlg; + m_pSelectorDlg = NULL; delete m_pContentsListBox; + m_pContentsListBox = NULL; + SvxConfigPage::dispose(); } @@ -2925,14 +2929,14 @@ void SvxToolbarConfigPage::dispose() delete pData; } + m_pSaveInListBox->Clear(); - if ( m_pSelectorDlg != NULL ) - { - delete m_pSelectorDlg; - } - + delete m_pSelectorDlg; + m_pSelectorDlg = NULL; delete m_pContentsListBox; + m_pContentsListBox = NULL; + SvxConfigPage::dispose(); } @@ -4533,6 +4537,8 @@ SvxToolbarEntriesListBox::~SvxToolbarEntriesListBox() void SvxToolbarEntriesListBox::dispose() { delete m_pButtonData; + m_pButtonData = NULL; + SvxMenuEntriesListBox::dispose(); } @@ -4924,20 +4930,23 @@ SvxIconSelectorDialog::~SvxIconSelectorDialog() void SvxIconSelectorDialog::dispose() { - sal_uInt16 nCount = pTbSymbol->GetItemCount(); - - for (sal_uInt16 n = 0; n < nCount; ++n ) + if (pTbSymbol) { - sal_uInt16 nId = pTbSymbol->GetItemId(n); - - uno::XInterface* xi = static_cast< uno::XInterface* >( - pTbSymbol->GetItemData( nId ) ); + sal_uInt16 nCount = pTbSymbol->GetItemCount(); - if ( xi != NULL ) + for (sal_uInt16 n = 0; n < nCount; ++n ) { + sal_uInt16 nId = pTbSymbol->GetItemId(n); + + uno::XInterface* xi = static_cast< uno::XInterface* >( + pTbSymbol->GetItemData( nId ) ); + + if ( xi != NULL ) xi->release(); } + pTbSymbol = NULL; } + ModalDialog::dispose(); } diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx index c0c1406..12b7ba1 100644 --- a/cui/source/dialogs/SpellDialog.cxx +++ b/cui/source/dialogs/SpellDialog.cxx @@ -250,19 +250,19 @@ SpellDialog::~SpellDialog() void SpellDialog::dispose() { - // save possibly modified user-dictionaries - Reference< XSearchableDictionaryList > xDicList( SvxGetDictionaryList() ); - if (xDicList.is()) + if (pImpl) { - linguistic::SaveDictionaries( xDicList ); - } + // save possibly modified user-dictionaries + Reference< XSearchableDictionaryList > xDicList( SvxGetDictionaryList() ); + if (xDicList.is()) + linguistic::SaveDictionaries( xDicList ); - delete pImpl; + delete pImpl; + pImpl = NULL; + } SfxModelessDialog::dispose(); } - - void SpellDialog::Init_Impl() { // initialize handler diff --git a/cui/source/dialogs/colorpicker.cxx b/cui/source/dialogs/colorpicker.cxx index 9606cc9..3e9c9f8 100644 --- a/cui/source/dialogs/colorpicker.cxx +++ b/cui/source/dialogs/colorpicker.cxx @@ -369,6 +369,7 @@ ColorFieldControl::~ColorFieldControl() void ColorFieldControl::dispose() { delete mpBitmap; + mpBitmap = NULL; Control::dispose(); } @@ -761,6 +762,7 @@ ColorSliderControl::~ColorSliderControl() void ColorSliderControl::dispose() { delete mpBitmap; + mpBitmap = NULL; Control::dispose(); } diff --git a/cui/source/dialogs/cuifmsearch.cxx b/cui/source/dialogs/cuifmsearch.cxx index 5b63b06..289059b 100644 --- a/cui/source/dialogs/cuifmsearch.cxx +++ b/cui/source/dialogs/cuifmsearch.cxx @@ -170,13 +170,12 @@ void FmSearchDialog::dispose() SaveParams(); - if (m_pConfig) - { - delete m_pConfig; - m_pConfig = NULL; - } + delete m_pConfig; + m_pConfig = NULL; delete m_pSearchEngine; + m_pSearchEngine = NULL; + ModalDialog::dispose(); } diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx index 92c276c..942cfc9 100644 --- a/cui/source/dialogs/cuigaldlg.cxx +++ b/cui/source/dialogs/cuigaldlg.cxx @@ -771,11 +771,11 @@ void TPGalleryThemeProperties::dispose() for ( size_t i = 0, n = aFilterEntryList.size(); i < n; ++i ) { delete aFilterEntryList[ i ]; } + aFilterEntryList.clear(); + SfxTabPage::dispose(); } - - SfxTabPage* TPGalleryThemeProperties::Create( vcl::Window* pParent, const SfxItemSet* rSet ) { return new TPGalleryThemeProperties( pParent, *rSet ); diff --git a/cui/source/dialogs/cuihyperdlg.cxx b/cui/source/dialogs/cuihyperdlg.cxx index fc4c2a4..6b2c308 100644 --- a/cui/source/dialogs/cuihyperdlg.cxx +++ b/cui/source/dialogs/cuihyperdlg.cxx @@ -167,6 +167,8 @@ void SvxHpLinkDlg::dispose() aViewOpt.Delete(); delete mpItemSet; + mpItemSet = NULL; + IconChoiceDialog::dispose(); } diff --git a/cui/source/dialogs/dlgname.cxx b/cui/source/dialogs/dlgname.cxx index 1f6c663..4a49494 100644 --- a/cui/source/dialogs/dlgname.cxx +++ b/cui/source/dialogs/dlgname.cxx @@ -144,6 +144,7 @@ SvxMessDialog::~SvxMessDialog() void SvxMessDialog::dispose() { delete pImage; + pImage = NULL; ModalDialog::dispose(); } diff --git a/cui/source/dialogs/hangulhanjadlg.cxx b/cui/source/dialogs/hangulhanjadlg.cxx index c514977..76e15e3 100644 --- a/cui/source/dialogs/hangulhanjadlg.cxx +++ b/cui/source/dialogs/hangulhanjadlg.cxx @@ -1139,17 +1139,18 @@ namespace svx void HangulHanjaOptionsDialog::dispose() { - SvTreeListEntry* pEntry = m_pDictsLB->First(); + SvTreeListEntry* pEntry = m_pDictsLB->First(); while( pEntry ) { OUString* pDel = ( OUString* ) pEntry->GetUserData(); - if( pDel ) - delete pDel; + delete pDel; + pEntry->SetUserData( NULL ); pEntry = m_pDictsLB->Next( pEntry ); } - if( m_pCheckButtonData ) - delete m_pCheckButtonData; + delete m_pCheckButtonData; + m_pCheckButtonData = NULL; + ModalDialog::dispose(); } @@ -1785,8 +1786,8 @@ namespace svx void HangulHanjaEditDictDialog::dispose() { - if( m_pSuggestions ) - delete m_pSuggestions; + delete m_pSuggestions; + m_pSuggestions = NULL; ModalDialog::dispose(); } diff --git a/cui/source/dialogs/hldocntp.cxx b/cui/source/dialogs/hldocntp.cxx index 610c5ea..ef60a89 100644 --- a/cui/source/dialogs/hldocntp.cxx +++ b/cui/source/dialogs/hldocntp.cxx @@ -134,11 +134,15 @@ SvxHyperlinkNewDocTp::~SvxHyperlinkNewDocTp () void SvxHyperlinkNewDocTp::dispose() { - for ( sal_uInt16 n=0; n<m_pLbDocTypes->GetEntryCount(); n++ ) + if (m_pLbDocTypes) { - DocumentTypeData* pTypeData = (DocumentTypeData*) - m_pLbDocTypes->GetEntryData ( n ); - delete pTypeData; + for ( sal_uInt16 n=0; n<m_pLbDocTypes->GetEntryCount(); n++ ) + { + DocumentTypeData* pTypeData = (DocumentTypeData*) + m_pLbDocTypes->GetEntryData ( n ); + delete pTypeData; + } + m_pLbDocTypes = NULL; } SvxHyperlinkTabPageBase::dispose(); } diff --git a/cui/source/dialogs/hltpbase.cxx b/cui/source/dialogs/hltpbase.cxx index 35dedd6..862aaa7 100644 --- a/cui/source/dialogs/hltpbase.cxx +++ b/cui/source/dialogs/hltpbase.cxx @@ -115,6 +115,8 @@ void SvxHyperlinkTabPageBase::dispose() maTimer.Stop(); delete mpMarkWnd; + mpMarkWnd = NULL; + IconChoicePage::dispose(); } diff --git a/cui/source/dialogs/iconcdlg.cxx b/cui/source/dialogs/iconcdlg.cxx index ec7251d..d524bf6 100644 --- a/cui/source/dialogs/iconcdlg.cxx +++ b/cui/source/dialogs/iconcdlg.cxx @@ -256,18 +256,25 @@ void IconChoiceDialog::dispose() } delete pData; } + maPageList.clear(); - // remove Userdata from Icons - for ( sal_uLong i=0; i < m_pIconCtrl->GetEntryCount(); i++) + if (m_pIconCtrl) { - SvxIconChoiceCtrlEntry* pEntry = m_pIconCtrl->GetEntry ( i ); - sal_uInt16* pUserData = (sal_uInt16*) pEntry->GetUserData(); - delete pUserData; + // remove Userdata from Icons + for ( sal_uLong i=0; i < m_pIconCtrl->GetEntryCount(); i++) + { + SvxIconChoiceCtrlEntry* pEntry = m_pIconCtrl->GetEntry ( i ); + sal_uInt16* pUserData = (sal_uInt16*) pEntry->GetUserData(); + delete pUserData; + } + m_pIconCtrl = NULL; } - delete pRanges; + pRanges = NULL; delete pOutSet; + pOutSet = NULL; + ModalDialog::dispose(); } diff --git a/cui/source/dialogs/insdlg.cxx b/cui/source/dialogs/insdlg.cxx index 8eed4f3..ec6f75b 100644 --- a/cui/source/dialogs/insdlg.cxx +++ b/cui/source/dialogs/insdlg.cxx @@ -401,11 +401,10 @@ SvInsertPlugInDialog::~SvInsertPlugInDialog() void SvInsertPlugInDialog::dispose() { delete m_pURL; + m_pURL = NULL; InsertObjectDialog_Impl::dispose(); } - - static void Plugin_ImplFillCommandSequence( const OUString& aCommands, uno::Sequence< beans::PropertyValue >& aCommandSequence ) { sal_Int32 nEaten; diff --git a/cui/source/dialogs/multipat.cxx b/cui/source/dialogs/multipat.cxx index b5ea355..cf251dd 100644 --- a/cui/source/dialogs/multipat.cxx +++ b/cui/source/dialogs/multipat.cxx @@ -237,6 +237,8 @@ void SvxMultiPathDialog::dispose() } delete m_pRadioLB; + m_pRadioLB = NULL; + ModalDialog::dispose(); } @@ -247,9 +249,13 @@ SvxPathSelectDialog::~SvxPathSelectDialog() void SvxPathSelectDialog::dispose() { - sal_uInt16 nPos = m_pPathLB->GetEntryCount(); - while ( nPos-- ) - delete (OUString*)m_pPathLB->GetEntryData(nPos); + if (m_pPathLB) + { + sal_uInt16 nPos = m_pPathLB->GetEntryCount(); + while ( nPos-- ) + delete (OUString*)m_pPathLB->GetEntryData(nPos); + m_pPathLB = NULL; + } ModalDialog::dispose(); } diff --git a/cui/source/dialogs/srchxtra.cxx b/cui/source/dialogs/srchxtra.cxx index da6a1e6..bb797e3 100644 --- a/cui/source/dialogs/srchxtra.cxx +++ b/cui/source/dialogs/srchxtra.cxx @@ -70,6 +70,7 @@ SvxSearchFormatDialog::~SvxSearchFormatDialog() void SvxSearchFormatDialog::dispose() { delete m_pFontList; + m_pFontList = NULL; SfxTabDialog::dispose(); } diff --git a/cui/source/options/certpath.cxx b/cui/source/options/certpath.cxx index ac73a78..239cccc 100644 --- a/cui/source/options/certpath.cxx +++ b/cui/source/options/certpath.cxx @@ -157,6 +157,7 @@ void CertPathDialog::dispose() pEntry = m_pCertPathList->Next( pEntry ); } delete m_pCertPathList; + m_pCertPathList = NULL; ModalDialog::dispose(); } diff --git a/cui/source/options/dbregister.cxx b/cui/source/options/dbregister.cxx index 8dd84ef..9fd0278 100644 --- a/cui/source/options/dbregister.cxx +++ b/cui/source/options/dbregister.cxx @@ -171,6 +171,7 @@ void DbRegistrationOptionsPage::dispose() for ( sal_uInt16 i = 0; i < pPathBox->GetEntryCount(); ++i ) delete static_cast< DatabaseRegistration* >( pPathBox->GetEntry(i)->GetUserData() ); delete pPathBox; + pPathBox = NULL; SfxTabPage::dispose(); } diff --git a/cui/source/options/fontsubs.cxx b/cui/source/options/fontsubs.cxx index a86dcf9..d0d8ed5 100644 --- a/cui/source/options/fontsubs.cxx +++ b/cui/source/options/fontsubs.cxx @@ -144,8 +144,11 @@ SvxFontSubstTabPage::~SvxFontSubstTabPage() void SvxFontSubstTabPage::dispose() { delete pCheckButtonData; + pCheckButtonData = NULL; delete pConfig; + pConfig = NULL; delete m_pCheckLB; + m_pCheckLB = NULL; SfxTabPage::dispose(); } diff --git a/cui/source/options/optaccessibility.cxx b/cui/source/options/optaccessibility.cxx index ed7e171..cfac3f4 100644 --- a/cui/source/options/optaccessibility.cxx +++ b/cui/source/options/optaccessibility.cxx @@ -64,6 +64,7 @@ SvxAccessibilityOptionsTabPage::~SvxAccessibilityOptionsTabPage() void SvxAccessibilityOptionsTabPage::dispose() { delete m_pImpl; + m_pImpl = NULL; SfxTabPage::dispose(); } diff --git a/cui/source/options/optasian.cxx b/cui/source/options/optasian.cxx index 8da90e0..d40b403 100644 --- a/cui/source/options/optasian.cxx +++ b/cui/source/options/optasian.cxx @@ -157,6 +157,7 @@ SvxAsianLayoutPage::~SvxAsianLayoutPage() void SvxAsianLayoutPage::dispose() { delete pImpl; + pImpl = NULL; SfxTabPage::dispose(); } diff --git a/cui/source/options/optchart.cxx b/cui/source/options/optchart.cxx index 8f8fd97..8005483 100644 --- a/cui/source/options/optchart.cxx +++ b/cui/source/options/optchart.cxx @@ -89,11 +89,16 @@ SvxDefaultColorOptPage::~SvxDefaultColorOptPage() void SvxDefaultColorOptPage::dispose() { // save changes - pChartOptions->SetDefaultColors( pColorConfig->GetColorList() ); - pChartOptions->Commit(); + if (pChartOptions) + { + pChartOptions->SetDefaultColors( pColorConfig->GetColorList() ); + pChartOptions->Commit(); - delete pColorConfig; - delete pChartOptions; + delete pColorConfig; + pColorConfig = NULL; + delete pChartOptions; + pChartOptions = NULL; + } SfxTabPage::dispose(); } diff --git a/cui/source/options/optcolor.cxx b/cui/source/options/optcolor.cxx index a8dcf52..9272740 100644 --- a/cui/source/options/optcolor.cxx +++ b/cui/source/options/optcolor.cxx @@ -1077,23 +1077,29 @@ SvxColorOptionsTabPage::~SvxColorOptionsTabPage() void SvxColorOptionsTabPage::dispose() { - //when the dialog is cancelled but the color scheme ListBox has been changed these - //changes need to be undone - if(!bFillItemSetCalled && m_pColorSchemeLB->IsValueChangedFromSaved()) + if (pColorConfig) { - OUString sOldScheme = m_pColorSchemeLB->GetEntry(m_pColorSchemeLB->GetSavedValue()); - if(!sOldScheme.isEmpty()) + //when the dialog is cancelled but the color scheme ListBox has been changed these + //changes need to be undone + if(!bFillItemSetCalled && m_pColorSchemeLB->IsValueChangedFromSaved()) { - pColorConfig->SetCurrentSchemeName(sOldScheme); - pExtColorConfig->SetCurrentSchemeName(sOldScheme); + OUString sOldScheme = m_pColorSchemeLB->GetEntry(m_pColorSchemeLB->GetSavedValue()); + if(!sOldScheme.isEmpty()) + { + pColorConfig->SetCurrentSchemeName(sOldScheme); + pExtColorConfig->SetCurrentSchemeName(sOldScheme); + } } + pColorConfig->ClearModified(); + pColorConfig->EnableBroadcast(); + delete pColorConfig; + pColorConfig = NULL; + + pExtColorConfig->ClearModified(); + pExtColorConfig->EnableBroadcast(); + delete pExtColorConfig; + pExtColorConfig = NULL; } - pColorConfig->ClearModified(); - pColorConfig->EnableBroadcast(); - delete pColorConfig; - pExtColorConfig->ClearModified(); - pExtColorConfig->EnableBroadcast(); - delete pExtColorConfig; SfxTabPage::dispose(); } diff --git a/cui/source/options/optfltr.cxx b/cui/source/options/optfltr.cxx index e63088b..793d8de 100644 --- a/cui/source/options/optfltr.cxx +++ b/cui/source/options/optfltr.cxx @@ -161,7 +161,9 @@ OfaMSFilterTabPage2::~OfaMSFilterTabPage2() void OfaMSFilterTabPage2::dispose() { delete pCheckButtonData; + pCheckButtonData = NULL; delete m_pCheckLB; + m_pCheckLB = NULL; SfxTabPage::dispose(); } diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx index 85575bf..e660497 100644 --- a/cui/source/options/optgdlg.cxx +++ b/cui/source/options/optgdlg.cxx @@ -675,8 +675,11 @@ OfaViewTabPage::~OfaViewTabPage() void OfaViewTabPage::dispose() { delete mpDrawinglayerOpt; + mpDrawinglayerOpt = NULL; delete pCanvasSettings; + pCanvasSettings = NULL; delete pAppearanceCfg; + pAppearanceCfg = NULL; SfxTabPage::dispose(); } @@ -1199,6 +1202,7 @@ OfaLanguagesTabPage::~OfaLanguagesTabPage() void OfaLanguagesTabPage::dispose() { delete pLangConfig; + pLangConfig = NULL; SfxTabPage::dispose(); } diff --git a/cui/source/options/optinet2.cxx b/cui/source/options/optinet2.cxx index a0a7f93..5edca92 100644 --- a/cui/source/options/optinet2.cxx +++ b/cui/source/options/optinet2.cxx @@ -620,9 +620,11 @@ SvxSecurityTabPage::~SvxSecurityTabPage() void SvxSecurityTabPage::dispose() { delete mpCertPathDlg; - + mpCertPathDlg = NULL; delete mpSecOptions; + mpSecOptions = NULL; delete mpSecOptDlg; + mpSecOptDlg = NULL; SfxTabPage::dispose(); } @@ -1042,6 +1044,7 @@ SvxEMailTabPage::~SvxEMailTabPage() void SvxEMailTabPage::dispose() { delete pImpl; + pImpl = NULL; SfxTabPage::dispose(); } diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx index 9f216f7..121607f 100644 --- a/cui/source/options/optjava.cxx +++ b/cui/source/options/optjava.cxx @@ -208,8 +208,11 @@ SvxJavaOptionsPage::~SvxJavaOptionsPage() void SvxJavaOptionsPage::dispose() { delete m_pJavaList; + m_pJavaList = NULL; delete m_pParamDlg; + m_pParamDlg = NULL; delete m_pPathDlg; + m_pPathDlg = NULL; ClearJavaInfo(); #if HAVE_FEATURE_JAVA std::vector< JavaInfo* >::iterator pIter; @@ -218,6 +221,7 @@ void SvxJavaOptionsPage::dispose() JavaInfo* pInfo = *pIter; jfw_freeJavaInfo( pInfo ); } + m_aAddedInfos.clear(); jfw_unlock(); #endif @@ -944,14 +948,16 @@ SvxJavaClassPathDlg::~SvxJavaClassPathDlg() void SvxJavaClassPathDlg::dispose() { - sal_Int32 i, nCount = m_pPathList->GetEntryCount(); - for ( i = 0; i < nCount; ++i ) - delete static_cast< OUString* >( m_pPathList->GetEntryData(i) ); + if (m_pPathList) + { + sal_Int32 i, nCount = m_pPathList->GetEntryCount(); + for ( i = 0; i < nCount; ++i ) + delete static_cast< OUString* >( m_pPathList->GetEntryData(i) ); + m_pPathList = NULL; + } ModalDialog::dispose(); } - - IMPL_LINK_NOARG(SvxJavaClassPathDlg, AddArchiveHdl_Impl) { sfx2::FileDialogHelper aDlg( TemplateDescription::FILEOPEN_SIMPLE, 0 ); diff --git a/cui/source/options/optlingu.cxx b/cui/source/options/optlingu.cxx index 1dfcedb..9749977 100644 --- a/cui/source/options/optlingu.cxx +++ b/cui/source/options/optlingu.cxx @@ -1134,13 +1134,11 @@ SvxLinguTabPage::~SvxLinguTabPage() void SvxLinguTabPage::dispose() { - if (pLinguData) - delete pLinguData; + delete pLinguData; + pLinguData = NULL; SfxTabPage::dispose(); } - - // don't throw away overloaded const sal_uInt16* SvxLinguTabPage::GetRanges() { @@ -1148,8 +1146,6 @@ const sal_uInt16* SvxLinguTabPage::GetRanges() return pRanges; } - - SfxTabPage* SvxLinguTabPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet ) { @@ -1922,10 +1918,10 @@ SvxEditModulesDlg::~SvxEditModulesDlg() void SvxEditModulesDlg::dispose() { delete pDefaultLinguData; + pDefaultLinguData = NULL; ModalDialog::dispose(); } - SvTreeListEntry* SvxEditModulesDlg::CreateEntry( OUString& rTxt, sal_uInt16 nCol ) { SvTreeListEntry* pEntry = new SvTreeListEntry; diff --git a/cui/source/options/optpath.cxx b/cui/source/options/optpath.cxx index 6a1aa1f..9b3fb93 100644 --- a/cui/source/options/optpath.cxx +++ b/cui/source/options/optpath.cxx @@ -252,15 +252,18 @@ SvxPathTabPage::~SvxPathTabPage() void SvxPathTabPage::dispose() { - for ( sal_uInt16 i = 0; i < pPathBox->GetEntryCount(); ++i ) - delete (PathUserData_Impl*)pPathBox->GetEntry(i)->GetUserData(); - delete pPathBox; + if ( pPathBox ) + { + for ( sal_uInt16 i = 0; i < pPathBox->GetEntryCount(); ++i ) + delete (PathUserData_Impl*)pPathBox->GetEntry(i)->GetUserData(); + delete pPathBox; + pPathBox = NULL; + } delete pImpl; + pImpl = NULL; SfxTabPage::dispose(); } - - SfxTabPage* SvxPathTabPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet ) { diff --git a/cui/source/options/optsave.cxx b/cui/source/options/optsave.cxx index a344d17..ae32654 100644 --- a/cui/source/options/optsave.cxx +++ b/cui/source/options/optsave.cxx @@ -205,11 +205,10 @@ SfxSaveTabPage::~SfxSaveTabPage() void SvxSaveTabPage::dispose() { delete pImpl; + pImpl = NULL; SfxTabPage::dispose(); } - - SfxTabPage* SfxSaveTabPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet ) { diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx index 7974c4e..1985ec2 100644 --- a/cui/source/options/treeopt.cxx +++ b/cui/source/options/treeopt.cxx @@ -555,7 +555,7 @@ OfaTreeOptionsDialog::~OfaTreeOptionsDialog() void OfaTreeOptionsDialog::dispose() { pCurrentPageEntry = NULL; - SvTreeListEntry* pEntry = pTreeLB->First(); + SvTreeListEntry* pEntry = pTreeLB ? pTreeLB->First() : NULL; // first children while(pEntry) { @@ -593,7 +593,7 @@ void OfaTreeOptionsDialog::dispose() } // and parents - pEntry = pTreeLB->First(); + pEntry = pTreeLB ? pTreeLB->First() : NULL; while(pEntry) { if(!pTreeLB->GetParent(pEntry)) @@ -606,7 +606,9 @@ void OfaTreeOptionsDialog::dispose() pEntry = pTreeLB->Next(pEntry); } delete pColorPageItemSet; + pColorPageItemSet = NULL; deleteGroupNames(); + pTreeLB = NULL; SfxModalDialog::dispose(); } diff --git a/cui/source/options/webconninfo.cxx b/cui/source/options/webconninfo.cxx index 30cf06b..7fee7fe 100644 --- a/cui/source/options/webconninfo.cxx +++ b/cui/source/options/webconninfo.cxx @@ -148,10 +148,10 @@ WebConnectionInfoDialog::~WebConnectionInfoDialog() void WebConnectionInfoDialog::dispose() { delete m_pPasswordsLB; + m_pPasswordsLB = NULL; ModalDialog::dispose(); } - IMPL_LINK( WebConnectionInfoDialog, HeaderBarClickedHdl, SvSimpleTable*, pTable ) { m_pPasswordsLB->Resort( NULL == pTable ); diff --git a/cui/source/tabpages/align.cxx b/cui/source/tabpages/align.cxx index c8292d4..40c9ee7 100644 --- a/cui/source/tabpages/align.cxx +++ b/cui/source/tabpages/align.cxx @@ -256,6 +256,7 @@ AlignmentTabPage::~AlignmentTabPage() void AlignmentTabPage::dispose() { delete m_pOrientHlp; + m_pOrientHlp = NULL; SfxTabPage::dispose(); } diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx index 129d38e..d510f5f 100644 --- a/cui/source/tabpages/autocdlg.cxx +++ b/cui/source/tabpages/autocdlg.cxx @@ -474,11 +474,16 @@ OfaSwAutoFmtOptionsPage::~OfaSwAutoFmtOptionsPage() void OfaSwAutoFmtOptionsPage::dispose() { - delete (ImpUserData*) m_pCheckLB->GetUserData( REPLACE_BULLETS ); - delete (ImpUserData*) m_pCheckLB->GetUserData( APPLY_NUMBERING ); - delete (ImpUserData*) m_pCheckLB->GetUserData( MERGE_SINGLE_LINE_PARA ); - delete pCheckButtonData; - delete m_pCheckLB; + if (m_pCheckLB) + { + delete (ImpUserData*) m_pCheckLB->GetUserData( REPLACE_BULLETS ); + delete (ImpUserData*) m_pCheckLB->GetUserData( APPLY_NUMBERING ); + delete (ImpUserData*) m_pCheckLB->GetUserData( MERGE_SINGLE_LINE_PARA ); + delete pCheckButtonData; + pCheckButtonData = NULL; + delete m_pCheckLB; + m_pCheckLB = NULL; + } SfxTabPage::dispose(); } @@ -912,7 +917,9 @@ void OfaAutocorrReplacePage::dispose() aChangesTable.clear(); delete pCompareClass; + pCompareClass = NULL; delete pCharClass; + pCharClass = NULL; SfxTabPage::dispose(); } @@ -1841,7 +1848,9 @@ OfaQuoteTabPage::~OfaQuoteTabPage() void OfaQuoteTabPage::dispose() { delete pCheckButtonData; + pCheckButtonData = NULL; delete m_pSwCheckLB; + m_pSwCheckLB = NULL; SfxTabPage::dispose(); } diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx index b564110..3a8ebdc 100644 --- a/cui/source/tabpages/backgrnd.cxx +++ b/cui/source/tabpages/backgrnd.cxx @@ -236,10 +236,10 @@ BackgroundPreviewImpl::~BackgroundPreviewImpl() void BackgroundPreviewImpl::dispose() { delete pBitmap; + pBitmap = NULL; vcl::Window::dispose(); } - void BackgroundPreviewImpl::NotifyChange( const Color& rColor ) { if ( !bIsBmp ) @@ -433,9 +433,15 @@ SvxBackgroundTabPage::~SvxBackgroundTabPage() void SvxBackgroundTabPage::dispose() { - delete pPageImpl->pLoadIdle; - delete pPageImpl; + if (pPageImpl) + { + delete pPageImpl->pLoadIdle; + delete pPageImpl; + pPageImpl = NULL; + } + delete pImportDlg; + pImportDlg = NULL; if( pTableBck_Impl) { @@ -443,6 +449,7 @@ void SvxBackgroundTabPage::dispose() delete pTableBck_Impl->pRowBrush; delete pTableBck_Impl->pTableBrush; delete pTableBck_Impl; + pTableBck_Impl = NULL; } if(pParaBck_Impl) @@ -450,6 +457,7 @@ void SvxBackgroundTabPage::dispose() delete pParaBck_Impl->pParaBrush; delete pParaBck_Impl->pCharBrush; delete pParaBck_Impl; + pParaBck_Impl = NULL; } SvxTabPage::dispose(); } diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx index 0a13da6..e2fc6e2 100644 --- a/cui/source/tabpages/chardlg.cxx +++ b/cui/source/tabpages/chardlg.cxx @@ -374,11 +374,10 @@ SvxCharNamePage::~SvxCharNamePage() void SvxCharNamePage::dispose() { delete m_pImpl; + m_pImpl = NULL; SvxCharBasePage::dispose(); } - - void SvxCharNamePage::Initialize() { // to handle the changes of the other pages diff --git a/cui/source/tabpages/numfmt.cxx b/cui/source/tabpages/numfmt.cxx index 64dcc99..f03d17d 100644 --- a/cui/source/tabpages/numfmt.cxx +++ b/cui/source/tabpages/numfmt.cxx @@ -289,7 +289,9 @@ SvxNumberFormatTabPage::~SvxNumberFormatTabPage() void SvxNumberFormatTabPage::dispose() { delete pNumFmtShell; + pNumFmtShell = NULL; delete pNumItem; + pNumItem = NULL; SfxTabPage::dispose(); } diff --git a/cui/source/tabpages/numpages.cxx b/cui/source/tabpages/numpages.cxx index 74438d8..86ff84d 100644 --- a/cui/source/tabpages/numpages.cxx +++ b/cui/source/tabpages/numpages.cxx @@ -225,7 +225,9 @@ SvxSingleNumPickTabPage::~SvxSingleNumPickTabPage() void SvxSingleNumPickTabPage::dispose() { delete pActNum; + pActNum = NULL; delete pSaveNum; + pSaveNum = NULL; SfxTabPage::dispose(); } @@ -392,7 +394,9 @@ SvxBulletPickTabPage::~SvxBulletPickTabPage() void SvxBulletPickTabPage::dispose() { delete pActNum; + pActNum = NULL; delete pSaveNum; + pSaveNum = NULL; SfxTabPage::dispose(); } @@ -595,7 +599,9 @@ SvxNumPickTabPage::~SvxNumPickTabPage() void SvxNumPickTabPage::dispose() { delete pActNum; + pActNum = NULL; delete pSaveNum; + pSaveNum = NULL; SfxTabPage::dispose(); } @@ -842,7 +848,9 @@ SvxBitmapPickTabPage::~SvxBitmapPickTabPage() void SvxBitmapPickTabPage::dispose() { delete pActNum; + pActNum = NULL; delete pSaveNum; + pSaveNum = NULL; SfxTabPage::dispose(); } @@ -1154,9 +1162,15 @@ SvxNumOptionsTabPage::~SvxNumOptionsTabPage() void SvxNumOptionsTabPage::dispose() { - delete m_pBitmapMB->GetPopupMenu()->GetPopupMenu(m_nGalleryId); + if (m_pBitmapMB) + { + delete m_pBitmapMB->GetPopupMenu()->GetPopupMenu(m_nGalleryId); + m_pBitmapMB = NULL; + } delete pActNum; + pActNum = NULL; delete pSaveNum; + pSaveNum = NULL; SfxTabPage::dispose(); } @@ -2719,9 +2733,12 @@ SvxNumPositionTabPage::~SvxNumPositionTabPage() void SvxNumPositionTabPage::dispose() { delete pActNum; + pActNum = NULL; delete pSaveNum; + pSaveNum = NULL; SfxTabPage::dispose(); } + /*-------------------------------------------------------*/ #if OSL_DEBUG_LEVEL > 1 diff --git a/cui/source/tabpages/page.cxx b/cui/source/tabpages/page.cxx index 42c927b..663cb48 100644 --- a/cui/source/tabpages/page.cxx +++ b/cui/source/tabpages/page.cxx @@ -382,6 +382,8 @@ void SvxPageDescPage::dispose() if(mbDelPrinter) { delete mpDefPrinter; + mpDefPrinter = NULL; + mbDelPrinter = false; } SfxTabPage::dispose(); } diff --git a/cui/source/tabpages/tpbitmap.cxx b/cui/source/tabpages/tpbitmap.cxx index 5f82bc9..f9218c5 100644 --- a/cui/source/tabpages/tpbitmap.cxx +++ b/cui/source/tabpages/tpbitmap.cxx @@ -128,11 +128,10 @@ SvxBitmapTabPage::~SvxBitmapTabPage() void SvxBitmapTabPage::dispose() { delete m_pBitmapCtl; + m_pBitmapCtl = NULL; SvxTabPage::dispose(); } - - void SvxBitmapTabPage::Construct() { m_pLbColor->Fill( pColorList ); diff --git a/cui/source/tabpages/tpcolor.cxx b/cui/source/tabpages/tpcolor.cxx index 5ebf479..a63f1d7 100644 --- a/cui/source/tabpages/tpcolor.cxx +++ b/cui/source/tabpages/tpcolor.cxx @@ -403,11 +403,10 @@ SvxColorTabPage::~SvxColorTabPage() void SvxColorTabPage::dispose() { delete pShadow; + pShadow = NULL; SfxTabPage::dispose(); } - - void SvxColorTabPage::ImpColorCountChanged() { if (!pColorList.is()) diff --git a/cui/source/tabpages/tpline.cxx b/cui/source/tabpages/tpline.cxx index 19353df..3e8d5e7 100644 --- a/cui/source/tabpages/tpline.cxx +++ b/cui/source/tabpages/tpline.cxx @@ -236,11 +236,14 @@ SvxLineTabPage::~SvxLineTabPage() void SvxLineTabPage::dispose() { // Symbols on a line (e.g. StarCharts), dtor new! + if (m_pSymbolMB) + { + delete m_pSymbolMB->GetPopupMenu()->GetPopupMenu( MN_GALLERY ); - delete m_pSymbolMB->GetPopupMenu()->GetPopupMenu( MN_GALLERY ); - - if(pSymbolList) - delete m_pSymbolMB->GetPopupMenu()->GetPopupMenu( MN_SYMBOLS ); + if(pSymbolList) + delete m_pSymbolMB->GetPopupMenu()->GetPopupMenu( MN_SYMBOLS ); + m_pSymbolMB = NULL; + } for ( size_t i = 0, n = aGrfBrushItems.size(); i < n; ++i ) { @@ -248,6 +251,8 @@ void SvxLineTabPage::dispose() delete pInfo->pBrushItem; delete pInfo; } + aGrfBrushItems.clear(); + SvxTabPage::dispose(); } diff --git a/fpicker/source/office/PlacesListBox.cxx b/fpicker/source/office/PlacesListBox.cxx index 35d84aa..23dfa0f 100644 --- a/fpicker/source/office/PlacesListBox.cxx +++ b/fpicker/source/office/PlacesListBox.cxx @@ -94,8 +94,11 @@ PlacesListBox::~PlacesListBox( ) void PlacesListBox::dispose() { delete mpImpl; + mpImpl = NULL; delete mpAddBtn; + mpAddBtn = NULL; delete mpDelBtn; + mpDelBtn = NULL; Control::dispose(); } diff --git a/sfx2/source/dialog/basedlgs.cxx b/sfx2/source/dialog/basedlgs.cxx index 73dca4a..e50768f 100644 --- a/sfx2/source/dialog/basedlgs.cxx +++ b/sfx2/source/dialog/basedlgs.cxx @@ -510,14 +510,13 @@ SfxFloatingWindow::~SfxFloatingWindow() void SfxFloatingWindow::dispose() { - if ( pImp->pMgr->GetFrame() == pBindings->GetActiveFrame() ) + if ( pImp && pImp->pMgr->GetFrame() == pBindings->GetActiveFrame() ) pBindings->SetActiveFrame( NULL ); delete pImp; + pImp = NULL; FloatingWindow::dispose(); } - - void SfxFloatingWindow::Resize() /* [Description] diff --git a/starmath/source/edit.cxx b/starmath/source/edit.cxx index f48ec69..95a0e4a 100644 --- a/starmath/source/edit.cxx +++ b/starmath/source/edit.cxx @@ -136,9 +136,13 @@ void SmEditWindow::dispose() // must be done before EditView (and thus EditEngine) is no longer // available for those classes. if (pAccessible) + { pAccessible->ClearWin(); // make Accessible defunctional + pAccessible = NULL; + xAccessible.clear(); + } // Note: memory for pAccessible will be freed when the reference - // xAccessible is released. + // xAccessible is released. FIXME: horribly redundant lifecycle ! ... if (pEditView) { @@ -157,6 +161,7 @@ void SmEditWindow::dispose() pVScrollBar = NULL; delete pScrollBox; pScrollBox = NULL; + vcl::Window::dispose(); } diff --git a/starmath/source/toolbox.cxx b/starmath/source/toolbox.cxx index 4925c56..450a653 100644 --- a/starmath/source/toolbox.cxx +++ b/starmath/source/toolbox.cxx @@ -149,9 +149,14 @@ void SmToolBoxWindow::dispose() { ToolBox *pBox = vToolBoxCategories[i]; delete pBox; + vToolBoxCategories[i] = 0; } + pToolBoxCmd = 0; for (i = 0; i < NUM_TBX_CATEGORIES + 1; ++i) + { delete aImageLists[i]; + aImageLists[i] = 0; + } SfxFloatingWindow::dispose(); } diff --git a/svtools/source/brwbox/brwbox1.cxx b/svtools/source/brwbox/brwbox1.cxx index fbdeb82..85ed47e 100644 --- a/svtools/source/brwbox/brwbox1.cxx +++ b/svtools/source/brwbox/brwbox1.cxx @@ -780,7 +780,6 @@ void BrowseBox::RemoveColumn( sal_uInt16 nItemId ) void BrowseBox::RemoveColumns() { - size_t nOldCount = pCols->size(); // remove all columns diff --git a/svtools/source/control/headbar.cxx b/svtools/source/control/headbar.cxx index ffd5637..1903078 100644 --- a/svtools/source/control/headbar.cxx +++ b/svtools/source/control/headbar.cxx @@ -119,17 +119,16 @@ HeaderBar::~HeaderBar() void HeaderBar::dispose() { - // Alle Items loeschen - for ( size_t i = 0, n = mpItemList->size(); i < n; ++i ) { - delete (*mpItemList)[ i ]; + if (mpItemList) + { + for ( size_t i = 0, n = mpItemList->size(); i < n; ++i ) + delete (*mpItemList)[ i ]; + delete mpItemList; + mpItemList = NULL; } - mpItemList->clear(); - delete mpItemList; Window::dispose(); } - - void HeaderBar::ImplInitSettings( bool bFont, bool bForeground, bool bBackground ) { diff --git a/svx/source/dialog/docrecovery.cxx b/svx/source/dialog/docrecovery.cxx index 3341ce6..c5bfc87 100644 --- a/svx/source/dialog/docrecovery.cxx +++ b/svx/source/dialog/docrecovery.cxx @@ -909,6 +909,7 @@ RecoveryDialog::~RecoveryDialog() void RecoveryDialog::dispose() { delete m_pFileListLB; + m_pFileListLB = NULL; Dialog::dispose(); } diff --git a/svx/source/fmcomp/fmgridcl.cxx b/svx/source/fmcomp/fmgridcl.cxx index f89f1b5..7208775 100644 --- a/svx/source/fmcomp/fmgridcl.cxx +++ b/svx/source/fmcomp/fmgridcl.cxx @@ -141,7 +141,7 @@ void FmGridHeader::dispose() { delete m_pImpl; m_pImpl = NULL; - FmGridHeader::dispose(); + svt::EditBrowserHeader::dispose(); } sal_uInt16 FmGridHeader::GetModelColumnPos(sal_uInt16 nId) const diff --git a/svx/source/fmcomp/gridctrl.cxx b/svx/source/fmcomp/gridctrl.cxx index d898e7d..8c87f38 100644 --- a/svx/source/fmcomp/gridctrl.cxx +++ b/svx/source/fmcomp/gridctrl.cxx @@ -957,9 +957,10 @@ DbGridControl::~DbGridControl() void DbGridControl::dispose() { - RemoveColumns(); - + if (!IsDisposed()) { + RemoveColumns(); + m_bWantDestruction = true; osl::MutexGuard aGuard(m_aDestructionSafety); if (m_pFieldListeners) @@ -985,7 +986,9 @@ void DbGridControl::dispose() m_xRowSetListener.clear(); delete m_pDataCursor; + m_pDataCursor = NULL; delete m_pSeekCursor; + m_pSeekCursor = NULL; m_aBar.disposeAndClear(); diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index e0b2674..3348029 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -2329,7 +2329,7 @@ SwViewShell::CreateAccessiblePreview() void SwViewShell::InvalidateAccessibleFocus() { - if( Imp() && Imp()->IsAccessible() ) + if( this && Imp() && Imp()->IsAccessible() ) Imp()->GetAccessibleMap().InvalidateFocus(); } diff --git a/sw/source/uibase/docvw/edtwin.cxx b/sw/source/uibase/docvw/edtwin.cxx index 24575a3..452f7c2 100644 --- a/sw/source/uibase/docvw/edtwin.cxx +++ b/sw/source/uibase/docvw/edtwin.cxx @@ -5132,7 +5132,7 @@ void SwEditWin::LoseFocus() { m_rView.GetWrtShell().InvalidateAccessibleFocus(); Window::LoseFocus(); - if( m_pQuickHlpData->m_bIsDisplayed ) + if( m_pQuickHlpData && m_pQuickHlpData->m_bIsDisplayed ) m_pQuickHlpData->Stop( m_rView.GetWrtShell() ); m_rView.LostFocus(); } diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx index b04b1bd..3f08455 100644 --- a/vcl/source/control/button.cxx +++ b/vcl/source/control/button.cxx @@ -102,13 +102,11 @@ Button::Button( WindowType nType ) : Button::~Button() { dispose(); + delete mpButtonData; } void Button::dispose() { - delete mpButtonData; - mpButtonData = NULL; - Control::dispose(); } @@ -549,7 +547,7 @@ sal_uInt16& Button::ImplGetButtonState() sal_uInt16 Button::ImplGetButtonState() const { - return mpButtonData->mnButtonState; + return mpButtonData ? mpButtonData->mnButtonState : 0; } void Button::ImplSetSymbolAlign( SymbolAlign eAlign ) @@ -1624,7 +1622,8 @@ void PushButton::SetPressed( bool bPressed ) void PushButton::EndSelection() { EndTracking( ENDTRACK_CANCEL ); - if ( ImplGetButtonState() & BUTTON_DRAW_PRESSED ) + if ( !IsDisposed() && + ImplGetButtonState() & BUTTON_DRAW_PRESSED ) { ImplGetButtonState() &= ~BUTTON_DRAW_PRESSED; if ( !mbPressed ) diff --git a/vcl/source/control/tabctrl.cxx b/vcl/source/control/tabctrl.cxx index 1f72190..17fefaa 100644 --- a/vcl/source/control/tabctrl.cxx +++ b/vcl/source/control/tabctrl.cxx @@ -206,9 +206,9 @@ void TabControl::dispose() // delete TabCtrl data if ( mpTabCtrlData ) { - if( mpTabCtrlData->mpListBox ) - delete mpTabCtrlData->mpListBox; + delete mpTabCtrlData->mpListBox; delete mpTabCtrlData; + mpTabCtrlData = NULL; } Control::dispose(); } diff --git a/vcl/source/window/accessibility.cxx b/vcl/source/window/accessibility.cxx index 49c95ac..a433473 100644 --- a/vcl/source/window/accessibility.cxx +++ b/vcl/source/window/accessibility.cxx @@ -136,6 +136,8 @@ namespace vcl { return pChild->GetAccessible(); } */ + if ( !mpWindowImpl ) + return css::uno::Reference< css::accessibility::XAccessible >(); if ( !mpWindowImpl->mxAccessible.is() && bCreate ) mpWindowImpl->mxAccessible = CreateAccessible(); diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx index 28aa470..44b4403b 100644 --- a/vcl/source/window/dialog.cxx +++ b/vcl/source/window/dialog.cxx @@ -351,8 +351,8 @@ void Dialog::ImplInitDialogData() mbOldSaveBack = false; mbInClose = false; mbModalMode = false; - mpContentArea.disposeAndClear(); - mpActionArea.disposeAndClear(); + mpContentArea.clear(); + mpActionArea.clear(); mnMousePositioned = 0; mpDialogImpl = new DialogImpl; } @@ -554,8 +554,8 @@ void Dialog::dispose() { delete mpDialogImpl; mpDialogImpl = NULL; - mpActionArea.disposeAndClear(); - mpContentArea.disposeAndClear(); + mpActionArea.clear(); + mpContentArea.clear(); SystemWindow::dispose(); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits