diff options
Diffstat (limited to 'chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx')
-rw-r--r-- | chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx index 71d0d65f40f2..6f3805f7d8da 100644 --- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx +++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx @@ -48,10 +48,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeLightButton(vcl::Windo return new LightButton(pParent); } -LightButton::~LightButton() -{ -} - void LightButton::switchLightOn(bool bOn) { if( m_bLightOn==bOn ) @@ -82,7 +78,7 @@ struct LightSource struct LightSourceInfo { - LightButton* pButton; + VclPtr<LightButton> pButton; LightSource aLightSource; LightSourceInfo(); @@ -298,7 +294,27 @@ ThreeD_SceneIllumination_TabPage::ThreeD_SceneIllumination_TabPage( vcl::Window* ThreeD_SceneIllumination_TabPage::~ThreeD_SceneIllumination_TabPage() { + disposeOnce(); +} + +void ThreeD_SceneIllumination_TabPage::dispose() +{ delete[] m_pLightSourceInfoList; + m_pLightSourceInfoList = NULL; + m_pBtn_Light1.clear(); + m_pBtn_Light2.clear(); + m_pBtn_Light3.clear(); + m_pBtn_Light4.clear(); + m_pBtn_Light5.clear(); + m_pBtn_Light6.clear(); + m_pBtn_Light7.clear(); + m_pBtn_Light8.clear(); + m_pLB_LightSource.clear(); + m_pBtn_LightSource_Color.clear(); + m_pLB_AmbientLight.clear(); + m_pBtn_AmbientLight_Color.clear(); + m_pCtl_Preview.clear(); + TabPage::dispose(); } IMPL_LINK_NOARG(ThreeD_SceneIllumination_TabPage, fillControlsFromModel) |