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>
This commit is contained in:
Jan Mulder 2017-06-08 13:38:52 +02:00 committed by Dirk Hohndel
parent 22e40063f1
commit a7288cc912
3 changed files with 6 additions and 3 deletions

View file

@ -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();