diff options
Diffstat (limited to 'cui/source/options/optchart.cxx')
-rw-r--r-- | cui/source/options/optchart.cxx | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/cui/source/options/optchart.cxx b/cui/source/options/optchart.cxx index 55d002d70e51..f9e3c0e22d40 100644 --- a/cui/source/options/optchart.cxx +++ b/cui/source/options/optchart.cxx @@ -83,12 +83,28 @@ SvxDefaultColorOptPage::SvxDefaultColorOptPage(vcl::Window* pParent, const SfxIt SvxDefaultColorOptPage::~SvxDefaultColorOptPage() { + disposeOnce(); +} + +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; + } + m_pLbChartColors.clear(); + m_pValSetColorBox.clear(); + m_pPBDefault.clear(); + m_pPBAdd.clear(); + m_pPBRemove.clear(); + SfxTabPage::dispose(); } void SvxDefaultColorOptPage::Construct() @@ -103,9 +119,9 @@ void SvxDefaultColorOptPage::Construct() } -SfxTabPage* SvxDefaultColorOptPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrs ) +VclPtr<SfxTabPage> SvxDefaultColorOptPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrs ) { - return new SvxDefaultColorOptPage( pParent, *rAttrs ); + return VclPtr<SvxDefaultColorOptPage>::Create( pParent, *rAttrs ); } bool SvxDefaultColorOptPage::FillItemSet( SfxItemSet* rOutAttrs ) @@ -215,9 +231,9 @@ IMPL_LINK( SvxDefaultColorOptPage, RemoveChartColor, PushButton*, pButton ) { OSL_ENSURE(pColorConfig->GetColorList().size() > 1, "don't delete the last chart color"); - MessageDialog aQuery(pButton, "QueryDeleteChartColorDialog", - "cui/ui/querydeletechartcolordialog.ui"); - if (RET_YES == aQuery.Execute()) + ScopedVclPtrInstance<MessageDialog> aQuery(pButton, "QueryDeleteChartColorDialog", + "cui/ui/querydeletechartcolordialog.ui"); + if (RET_YES == aQuery->Execute()) { pColorConfig->GetColorList().remove( nIndex ); |