aboutsummaryrefslogtreecommitdiffstats
path: root/desktop-widgets
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-03-18 15:58:07 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-04-04 15:09:31 -0700
commitac71705b538de5782f6680a6522b35e9c84e9890 (patch)
tree5ce8be8741c32b7e5482b24da863377100c15887 /desktop-widgets
parent072bf673038a8633c21f01debd7aadfcbe1fde24 (diff)
downloadsubsurface-ac71705b538de5782f6680a6522b35e9c84e9890.tar.gz
Leak fix: make ostcFirmwareCheck a unique_ptr
ostcFirmwareCheck in DownloadFromDCWidget was neither freed in the destructor, not freed if a new object was allocated. Simply make it a unique_ptr<> to do all the work for us. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets')
-rw-r--r--desktop-widgets/downloadfromdivecomputer.cpp3
-rw-r--r--desktop-widgets/downloadfromdivecomputer.h3
2 files changed, 3 insertions, 3 deletions
diff --git a/desktop-widgets/downloadfromdivecomputer.cpp b/desktop-widgets/downloadfromdivecomputer.cpp
index ffa005c89..f3188be31 100644
--- a/desktop-widgets/downloadfromdivecomputer.cpp
+++ b/desktop-widgets/downloadfromdivecomputer.cpp
@@ -22,7 +22,6 @@ DownloadFromDCWidget::DownloadFromDCWidget(QWidget *parent, Qt::WindowFlags f) :
previousLast(0),
timer(new QTimer(this)),
dumpWarningShown(false),
- ostcFirmwareCheck(0),
#if defined (BT_SUPPORT)
btd(nullptr),
#endif
@@ -408,7 +407,7 @@ void DownloadFromDCWidget::on_downloadCancelRetryButton_clicked()
if ((product == "OSTC 3" || product == "OSTC 3+" || product == "OSTC cR" ||
product == "OSTC Sport" || product == "OSTC 4" || product == "OSTC Plus") &&
!data->saveDump()) {
- ostcFirmwareCheck = new OstcFirmwareCheck(product);
+ ostcFirmwareCheck.reset(new OstcFirmwareCheck(product));
}
}
diff --git a/desktop-widgets/downloadfromdivecomputer.h b/desktop-widgets/downloadfromdivecomputer.h
index 4d1a912e9..c70ee651a 100644
--- a/desktop-widgets/downloadfromdivecomputer.h
+++ b/desktop-widgets/downloadfromdivecomputer.h
@@ -7,6 +7,7 @@
#include <QHash>
#include <QMap>
#include <QAbstractTableModel>
+#include <memory>
#include "core/libdivecomputer.h"
#include "desktop-widgets/configuredivecomputerdialog.h"
@@ -79,7 +80,7 @@ private:
void fill_device_list(unsigned int transport);
QTimer *timer;
bool dumpWarningShown;
- OstcFirmwareCheck *ostcFirmwareCheck;
+ std::unique_ptr<OstcFirmwareCheck> ostcFirmwareCheck;
DiveImportedModel *diveImportedModel;
#if defined(BT_SUPPORT)
BtDeviceSelectionDialog *btDeviceSelectionDialog;