summaryrefslogtreecommitdiffstats
path: root/profile-widget
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-07-15 20:41:42 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-11-09 19:19:04 +0100
commit4e86d997141dc7cd9e83b6c6a4a47ebdcaa4ebd6 (patch)
treec211c83947404bef6c0e64ba5f7ea4d531e42a1f /profile-widget
parent05a5a06fd3905db25208a0f794b54cf27e580904 (diff)
downloadsubsurface-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.cpp5
-rw-r--r--profile-widget/profilewidget2.h1
-rw-r--r--profile-widget/tankitem.cpp5
-rw-r--r--profile-widget/tankitem.h1
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);