From 01f23849b6a48cd8346835fad6119ae803fc32ab Mon Sep 17 00:00:00 2001 From: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com> Date: Mon, 22 Jun 2015 14:46:01 -0400 Subject: [PATCH] fix some memory leaks Refs #76119 Change-Id: I516d471ec23deeb4bde8eb87bea03f83a7e1a55e --- callwidget.cpp | 10 ++++++---- callwidget.h | 5 +++++ configurationwidget.cpp | 5 +++-- configurationwidget.h | 2 ++ mainwindow.cpp | 1 + navstack.cpp | 6 +++++- videoview.cpp | 3 +++ wizarddialog.cpp | 3 +++ 8 files changed, 28 insertions(+), 7 deletions(-) diff --git a/callwidget.cpp b/callwidget.cpp index d92314e..6c4625d 100644 --- a/callwidget.cpp +++ b/callwidget.cpp @@ -32,8 +32,6 @@ #include "wizarddialog.h" #include "windowscontactbackend.h" -#include "historydelegate.h" -#include "contactdelegate.h" CallWidget::CallWidget(QWidget *parent) : NavWidget(Main ,parent), @@ -92,7 +90,8 @@ CallWidget::CallWidget(QWidget *parent) : ui->historyList->setModel(CategorizedHistoryModel::SortedProxy::instance()->model()); CategorizedHistoryModel::SortedProxy::instance()->model()->sort(0, Qt::DescendingOrder); ui->historyList->setHeaderHidden(true); - ui->historyList->setItemDelegate(new HistoryDelegate()); + historyDelegate_ = new HistoryDelegate(); + ui->historyList->setItemDelegate(historyDelegate_); auto idx = CategorizedHistoryModel::SortedProxy::instance()->model()->index(0,0); if (idx.isValid()) ui->historyList->setExpanded(idx, true); @@ -101,7 +100,8 @@ CallWidget::CallWidget(QWidget *parent) : CategorizedContactModel::instance()->setSortAlphabetical(false); ui->contactView->setModel(CategorizedContactModel::instance()); - ui->contactView->setItemDelegate(new ContactDelegate()); + contactDelegate_ = new ContactDelegate(); + ui->contactView->setItemDelegate(contactDelegate_); findRingAccount(); @@ -115,6 +115,8 @@ CallWidget::~CallWidget() delete ui; delete spinner_; delete menu_; + delete historyDelegate_; + delete contactDelegate_; } void diff --git a/callwidget.h b/callwidget.h index cd65608..55fdf19 100644 --- a/callwidget.h +++ b/callwidget.h @@ -28,6 +28,8 @@ #include "navwidget.h" #include "instantmessagingwidget.h" +#include "historydelegate.h" +#include "contactdelegate.h" #include "callmodel.h" #include "video/renderer.h" @@ -73,6 +75,9 @@ private: int inputVolume_; QMenu *menu_; QMovie *spinner_; + HistoryDelegate *historyDelegate_; + ContactDelegate *contactDelegate_; + private: void findRingAccount(); void setActualCall(Call *value); diff --git a/configurationwidget.cpp b/configurationwidget.cpp index bc659e6..b7162df 100644 --- a/configurationwidget.cpp +++ b/configurationwidget.cpp @@ -28,7 +28,6 @@ #include "video/previewmanager.h" #include "accountserializationadapter.h" -#include "accountstatedelegate.h" #include "accountmodel.h" #include "protocolmodel.h" @@ -49,7 +48,8 @@ ConfigurationWidget::ConfigurationWidget(QWidget *parent) : ui->setupUi(this); ui->accountView->setModel(accountModel_); - ui->accountView->setItemDelegate(new AccountStateDelegate()); + accountStateDelegate_ = new AccountStateDelegate(); + ui->accountView->setItemDelegate(accountStateDelegate_); isLoading_ = true; ui->deviceBox->setModel(deviceModel_); @@ -81,6 +81,7 @@ void ConfigurationWidget::atExit() { ConfigurationWidget::~ConfigurationWidget() { delete ui; + delete accountStateDelegate_; } void diff --git a/configurationwidget.h b/configurationwidget.h index 176351f..6f0ffa7 100644 --- a/configurationwidget.h +++ b/configurationwidget.h @@ -24,6 +24,7 @@ #include "navwidget.h" #include "accountdetails.h" +#include "accountstatedelegate.h" #include "accountmodel.h" #include "video/devicemodel.h" @@ -68,6 +69,7 @@ private: CodecModel* codecModel_; bool isLoading_; AccountDetails* accountDetails_; + AccountStateDelegate *accountStateDelegate_; }; #endif // CONFIGURATIONWIDGET_H diff --git a/mainwindow.cpp b/mainwindow.cpp index a852a18..0cd33f0 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -51,6 +51,7 @@ MainWindow::MainWindow(QWidget *parent) : MainWindow::~MainWindow() { delete ui; + delete navStack_; } void diff --git a/navstack.cpp b/navstack.cpp index 333e422..f058b4b 100644 --- a/navstack.cpp +++ b/navstack.cpp @@ -42,7 +42,11 @@ NavStack::NavStack(QStackedWidget* bar, QStackedWidget* stack, QWidget *parent) } NavStack::~NavStack() -{} +{ + for (int i = 0; i < END; i++) { + delete navList_[i]; + } +} void NavStack::onNavigationRequested(ScreenEnum screen) { diff --git a/videoview.cpp b/videoview.cpp index d61635e..c907530 100644 --- a/videoview.cpp +++ b/videoview.cpp @@ -70,6 +70,9 @@ VideoView::VideoView(QWidget *parent) : VideoView::~VideoView() { delete ui; + delete overlay_; + delete timerLength_; + delete fadeAnim_; } void diff --git a/wizarddialog.cpp b/wizarddialog.cpp index b281d0c..112c9a8 100644 --- a/wizarddialog.cpp +++ b/wizarddialog.cpp @@ -48,6 +48,9 @@ WizardDialog::WizardDialog(QWidget *parent) : WizardDialog::~WizardDialog() { + if (ui->spinnerLabel->movie()) { + delete ui->spinnerLabel->movie(); + } delete ui; } -- GitLab