From a7288cc912267415196cfa956b7813752748c35c Mon Sep 17 00:00:00 2001 From: Jan Mulder Date: Thu, 8 Jun 2017 13:38:52 +0200 Subject: QML UI: do not crash on selecting dive computers For reasons unknown to me, the DCDeviceData instance was freed way too early, and used afterwards, obviously resulting in a SIGSEGV. This commit creates the DCDeviceData as a direct child of the QMLManager instance, ensuring it does not get freed prematurely. Signed-off-by: Jan Mulder Signed-off-by: Dirk Hohndel --- mobile-widgets/qmlmanager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mobile-widgets/qmlmanager.cpp') diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp index 96bdab51e..02345342f 100644 --- a/mobile-widgets/qmlmanager.cpp +++ b/mobile-widgets/qmlmanager.cpp @@ -91,7 +91,8 @@ QMLManager::QMLManager() : m_locationServiceEnabled(false), m_updateSelectedDive(-1), m_selectedDiveTimestamp(0), m_credentialStatus(UNKNOWN), - alreadySaving(false) + alreadySaving(false), + m_device_data(new DCDeviceData(this)) { #if defined(BT_SUPPORT) // ensure that we start the BTDiscovery - this should be triggered by the export of the class -- cgit v1.2.3-70-g09d2