From be763452adc110cfcc011322d989698d897dd6ed Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Tue, 13 Aug 2019 07:28:24 +0200 Subject: DiveObjectHelper: Turn DiveObjectHelper into Q_GADGET based object DiveObjectHelper is a tiny wrapper around dive * to allow access to dive data from QML and grantlee. It doesn't have to be a full-fledged QObject with support for signals, etc. Therefore, turn it into a Q_GADGET based object. This allows us passing the object around as object, not as pointer to DiveObjectHelper. This makes memory-management distinctly easier. Signed-off-by: Berthold Stoeger --- core/subsurface-qt/DiveObjectHelper.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'core/subsurface-qt/DiveObjectHelper.cpp') diff --git a/core/subsurface-qt/DiveObjectHelper.cpp b/core/subsurface-qt/DiveObjectHelper.cpp index e4945f007..c19c03eb4 100644 --- a/core/subsurface-qt/DiveObjectHelper.cpp +++ b/core/subsurface-qt/DiveObjectHelper.cpp @@ -55,6 +55,13 @@ static QString getPressures(struct dive *dive, int i, enum returnPressureSelecto return fmt; } +// Qt's metatype system insists on generating a default constructed object, +// even if that makes no sense. Usage of this object *will* crash. +DiveObjectHelper::DiveObjectHelper() : + m_dive(nullptr) +{ +} + DiveObjectHelper::DiveObjectHelper(struct dive *d) : m_dive(d) { -- cgit v1.2.3-70-g09d2