summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-01-15 15:48:23 +0200
committerMichael Meeks <michael.meeks@collabora.com>2015-04-09 21:31:48 +0100
commit7f7617765cf1f4a16022f47fedb018bf49802a08 (patch)
treef8bf64f2fa3b935b5bea095370160a9568a05f77 /vcl
parentebd195b2ae254bfc9b52c9c673a57cd3bdf0cad8 (diff)
loplugin: vclwidget: add check that dispose is calling superclass dispose
and fix up the places it finds Change-Id: Ie1decd5cb14415ace423fc7a0609cc62044e19ff
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/ilstbox.hxx2
-rw-r--r--vcl/source/control/ilstbox.cxx13
-rw-r--r--vcl/source/window/dialog.cxx5
-rw-r--r--vcl/source/window/printdlg.cxx1
-rw-r--r--vcl/source/window/wrkwin.cxx10
-rw-r--r--vcl/unx/generic/app/i18n_status.cxx18
6 files changed, 23 insertions, 26 deletions
diff --git a/vcl/inc/ilstbox.hxx b/vcl/inc/ilstbox.hxx
index 375d3cd48382..1f023a869ba3 100644
--- a/vcl/inc/ilstbox.hxx
+++ b/vcl/inc/ilstbox.hxx
@@ -403,7 +403,6 @@ protected:
virtual void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;
virtual bool Notify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
- virtual void dispose() SAL_OVERRIDE;
void ImplResizeControls();
void ImplCheckScrollBars();
@@ -416,6 +415,7 @@ protected:
public:
ImplListBox( vcl::Window* pParent, WinBits nWinStyle );
virtual ~ImplListBox();
+ virtual void dispose() SAL_OVERRIDE;
const ImplEntryList* GetEntryList() const { return maLBWindow->GetEntryList(); }
ImplListBoxWindowPtr GetMainWindow() { return maLBWindow; }
diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index dd9cf5208bf9..b6a63c66ea6e 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -2169,9 +2169,16 @@ ImplListBox::ImplListBox( vcl::Window* pParent, WinBits nWinStyle ) :
ImplListBox::~ImplListBox()
{
+ dispose();
+}
+
+void ImplListBox::dispose()
+{
delete mpHScrollBar;
delete mpVScrollBar;
delete mpScrollBarBox;
+ maLBWindow.clear();
+ Control::dispose();
}
void ImplListBox::Clear()
@@ -2521,12 +2528,6 @@ bool ImplListBox::Notify( NotifyEvent& rNEvt )
return nDone || Window::Notify( rNEvt );
}
-void ImplListBox::dispose()
-{
- maLBWindow.clear();
- Control::dispose();
-}
-
const Wallpaper& ImplListBox::GetDisplayBackground() const
{
return maLBWindow->GetDisplayBackground();
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index d53c91a2c3d5..d79b5391a28e 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -539,13 +539,12 @@ void Dialog::settingOptimalLayoutSize(Window *pBox)
Dialog::~Dialog()
{
dispose();
-
- delete mpDialogImpl;
- mpDialogImpl = NULL;
}
void Dialog::dispose()
{
+ delete mpDialogImpl;
+ mpDialogImpl = NULL;
mpActionArea.disposeAndClear();
mpContentArea.disposeAndClear();
SystemWindow::dispose();
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index 2c63c674093b..ead659fcac08 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -717,6 +717,7 @@ PrintDialog::~PrintDialog()
void PrintDialog::dispose()
{
delete mpCustomOptionsUIBuilder;
+ ModalDialog::dispose();
}
void PrintDialog::readFromSettings()
diff --git a/vcl/source/window/wrkwin.cxx b/vcl/source/window/wrkwin.cxx
index 4cdb9a553ec3..d53718a448ca 100644
--- a/vcl/source/window/wrkwin.cxx
+++ b/vcl/source/window/wrkwin.cxx
@@ -113,17 +113,17 @@ WorkWindow::WorkWindow( SystemParentData* pParent ) :
WorkWindow::~WorkWindow()
{
+ dispose();
+}
+
+void WorkWindow::dispose()
+{
ImplSVData* pSVData = ImplGetSVData();
if ( pSVData->maWinData.mpAppWin == this )
{
pSVData->maWinData.mpAppWin = NULL;
Application::Quit();
}
- dispose();
-}
-
-void WorkWindow::dispose()
-{
SystemWindow::dispose();
}
diff --git a/vcl/unx/generic/app/i18n_status.cxx b/vcl/unx/generic/app/i18n_status.cxx
index fb49388a2d82..d60cc224d46a 100644
--- a/vcl/unx/generic/app/i18n_status.cxx
+++ b/vcl/unx/generic/app/i18n_status.cxx
@@ -124,8 +124,15 @@ XIMStatusWindow::XIMStatusWindow( bool bOn ) :
XIMStatusWindow::~XIMStatusWindow()
{
+ dispose();
+}
+
+void XIMStatusWindow::dispose()
+{
if( m_nDelayedEvent )
Application::RemoveUserEvent( m_nDelayedEvent );
+ m_aStatusText.disposeAndClear();
+ StatusWindow::dispose();
}
void XIMStatusWindow::toggle( bool bOn )
@@ -134,12 +141,6 @@ void XIMStatusWindow::toggle( bool bOn )
show( bOn, I18NStatus::contextmap );
}
-void XIMStatusWindow::dispose()
-{
- m_aStatusText.disposeAndClear();
- StatusWindow::dispose();
-};
-
void XIMStatusWindow::layout()
{
m_aWindowSize.Width() = m_aStatusText->GetTextWidth( m_aStatusText->GetText() )+8;
@@ -311,7 +312,6 @@ class IIIMPStatusWindow : public StatusWindow
public:
IIIMPStatusWindow( SalFrame* pParent, bool bOn ); // for initial position
- virtual ~IIIMPStatusWindow();
virtual void setText( const OUString & ) SAL_OVERRIDE;
virtual void show( bool bShow, I18NStatus::ShowReason eReason ) SAL_OVERRIDE;
@@ -368,10 +368,6 @@ IIIMPStatusWindow::IIIMPStatusWindow( SalFrame* pParent, bool bOn ) :
EnableAlwaysOnTop( true );
}
-IIIMPStatusWindow::~IIIMPStatusWindow()
-{
-}
-
void IIIMPStatusWindow::layout()
{
Font aFont( m_aStatusBtn->GetFont() );