diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-07-15 20:41:42 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-11-09 19:19:04 +0100 |
commit | 4e86d997141dc7cd9e83b6c6a4a47ebdcaa4ebd6 (patch) | |
tree | c211c83947404bef6c0e64ba5f7ea4d531e42a1f /profile-widget | |
parent | 05a5a06fd3905db25208a0f794b54cf27e580904 (diff) | |
download | subsurface-4e86d997141dc7cd9e83b6c6a4a47ebdcaa4ebd6.tar.gz |
Cleanup: free plot data on exit
Some widgets copy the full plot info. Free these data on exit to
prevent monstrous valgrind reports.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'profile-widget')
-rw-r--r-- | profile-widget/profilewidget2.cpp | 5 | ||||
-rw-r--r-- | profile-widget/profilewidget2.h | 1 | ||||
-rw-r--r-- | profile-widget/tankitem.cpp | 5 | ||||
-rw-r--r-- | profile-widget/tankitem.h | 1 |
4 files changed, 12 insertions, 0 deletions
diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp index b778f982c..e065361d3 100644 --- a/profile-widget/profilewidget2.cpp +++ b/profile-widget/profilewidget2.cpp @@ -178,6 +178,11 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : QGraphicsView(parent), #endif } +ProfileWidget2::~ProfileWidget2() +{ + free_plot_info_data(&plotInfo); +} + #ifndef SUBSURFACE_MOBILE void ProfileWidget2::addActionShortcut(const Qt::Key shortcut, void (ProfileWidget2::*slot)()) { diff --git a/profile-widget/profilewidget2.h b/profile-widget/profilewidget2.h index a5895da63..d2b813e35 100644 --- a/profile-widget/profilewidget2.h +++ b/profile-widget/profilewidget2.h @@ -73,6 +73,7 @@ public: }; ProfileWidget2(QWidget *parent = 0); + ~ProfileWidget2(); void resetZoom(); void scale(qreal sx, qreal sy); void plotDive(const struct dive *d = 0, bool force = false, bool clearPictures = false, bool instant = false); diff --git a/profile-widget/tankitem.cpp b/profile-widget/tankitem.cpp index ea50dd9cf..f40baa357 100644 --- a/profile-widget/tankitem.cpp +++ b/profile-widget/tankitem.cpp @@ -32,6 +32,11 @@ TankItem::TankItem(QObject *parent) : hAxis = nullptr; } +TankItem::~TankItem() +{ + free(pInfoEntry); +} + void TankItem::setData(DivePlotDataModel *model, struct plot_info *plotInfo, struct dive *d) { // If there is nothing to plot, quit early. diff --git a/profile-widget/tankitem.h b/profile-widget/tankitem.h index 73994444b..ff86f787d 100644 --- a/profile-widget/tankitem.h +++ b/profile-widget/tankitem.h @@ -15,6 +15,7 @@ class TankItem : public QObject, public QGraphicsRectItem public: explicit TankItem(QObject *parent = 0); + ~TankItem(); void setHorizontalAxis(DiveCartesianAxis *horizontal); void setData(DivePlotDataModel *model, struct plot_info *plotInfo, struct dive *d); |