summaryrefslogtreecommitdiff
path: root/forms/source/solar/control/navtoolbar.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'forms/source/solar/control/navtoolbar.cxx')
-rw-r--r--forms/source/solar/control/navtoolbar.cxx31
1 files changed, 14 insertions, 17 deletions
diff --git a/forms/source/solar/control/navtoolbar.cxx b/forms/source/solar/control/navtoolbar.cxx
index 3ccbf2eb8457..19bcd6937d5f 100644
--- a/forms/source/solar/control/navtoolbar.cxx
+++ b/forms/source/solar/control/navtoolbar.cxx
@@ -147,14 +147,16 @@ namespace frm
NavigationToolBar::~NavigationToolBar( )
{
- for ( ::std::vector< vcl::Window* >::iterator loopChildWins = m_aChildWins.begin();
- loopChildWins != m_aChildWins.end();
- ++loopChildWins
- )
- {
- delete *loopChildWins;
- }
- delete m_pToolbar;
+ disposeOnce();
+ }
+
+ void NavigationToolBar::dispose()
+ {
+ for (auto i = m_aChildWins.begin(); i != m_aChildWins.end(); ++i)
+ i->disposeAndClear();
+ m_aChildWins.clear();
+ m_pToolbar.disposeAndClear();
+ vcl::Window::dispose();
}
@@ -234,7 +236,7 @@ namespace frm
void NavigationToolBar::implInit( )
{
- m_pToolbar = new ImplNavToolBar( this );
+ m_pToolbar = VclPtr<ImplNavToolBar>::Create( this );
m_pToolbar->SetOutStyle( TOOLBOX_STYLE_FLAT );
m_pToolbar->Show();
@@ -299,17 +301,17 @@ namespace frm
vcl::Window* pItemWindow = NULL;
if ( FormFeature::MoveAbsolute == pSupportedFeatures->nId )
{
- pItemWindow = new RecordPositionInput( m_pToolbar );
+ pItemWindow = VclPtr<RecordPositionInput>::Create( m_pToolbar );
static_cast< RecordPositionInput* >( pItemWindow )->setDispatcher( m_pDispatcher );
}
else if ( LID_RECORD_FILLER == pSupportedFeatures->nId )
{
- pItemWindow = new FixedText( m_pToolbar, WB_CENTER | WB_VCENTER );
+ pItemWindow = VclPtr<FixedText>::Create( m_pToolbar, WB_CENTER | WB_VCENTER );
pItemWindow->SetBackground(Wallpaper(Color(COL_TRANSPARENT)));
}
else
{
- pItemWindow = new FixedText( m_pToolbar, WB_VCENTER );
+ pItemWindow = VclPtr<FixedText>::Create( m_pToolbar, WB_VCENTER );
pItemWindow->SetBackground();
pItemWindow->SetPaintTransparent(true);
}
@@ -658,11 +660,6 @@ namespace frm
}
- RecordPositionInput::~RecordPositionInput()
- {
- }
-
-
void RecordPositionInput::setDispatcher( const IFeatureDispatcher* _pDispatcher )
{
m_pDispatcher = _pDispatcher;