diff options
author | Jan Mulder <jlmulder@xs4all.nl> | 2017-06-08 13:38:52 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-06-12 09:49:05 -0700 |
commit | a7288cc912267415196cfa956b7813752748c35c (patch) | |
tree | 0930b1b52ddcf6fef28bfda01b907652ac3d86ed /core/downloadfromdcthread.cpp | |
parent | 22e40063f173e381ecf9385be0d1facc69770f02 (diff) | |
download | subsurface-a7288cc912267415196cfa956b7813752748c35c.tar.gz |
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 <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'core/downloadfromdcthread.cpp')
-rw-r--r-- | core/downloadfromdcthread.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/downloadfromdcthread.cpp b/core/downloadfromdcthread.cpp index bd8a637f1..9583eff15 100644 --- a/core/downloadfromdcthread.cpp +++ b/core/downloadfromdcthread.cpp @@ -16,11 +16,11 @@ static QString str_error(const char *fmt, ...) return str; } -DownloadThread::DownloadThread() : m_data(new DCDeviceData()) +DownloadThread::DownloadThread() { + m_data = DCDeviceData::instance(); } - void DownloadThread::run() { auto internalData = m_data->internalData(); |