From 75f90d6dab7120b8595c7354acf213476be5646f Mon Sep 17 00:00:00 2001 From: Vyacheslav Koscheev Date: Thu, 2 Apr 2015 14:31:32 +0600 Subject: Fix crash in AndroidCompass Change-Id: I9031610c02d9418b46339c34b02264a03600403c Task-number: QTBUG-45691 Reviewed-by: Alex Blasche --- src/plugins/sensors/android/src/androidcompass.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/sensors/android/src/androidcompass.cpp b/src/plugins/sensors/android/src/androidcompass.cpp index 60d8c014..c0b3547d 100644 --- a/src/plugins/sensors/android/src/androidcompass.cpp +++ b/src/plugins/sensors/android/src/androidcompass.cpp @@ -45,6 +45,7 @@ public: AndroidAccelerometerListener(AndroidCompass *parent) : m_compass(parent) { + memset(reading, 0, sizeof(reading)); } void start(int dataRate) @@ -84,7 +85,7 @@ public: AndroidMagnetometerListener(AndroidCompass *parent) :m_compass(parent) { - + memset(reading, 0, sizeof(reading)); } void start(int dataRate) @@ -138,9 +139,9 @@ void AndroidCompass::start() { if (!m_accelerometerListener) m_accelerometerListener = new AndroidAccelerometerListener(this); - m_accelerometerListener->start(sensor()->dataRate()); if (!m_magnetometerListener) m_magnetometerListener = new AndroidMagnetometerListener(this); + m_accelerometerListener->start(sensor()->dataRate()); m_magnetometerListener->start(sensor()->dataRate()); m_isStarted = true; @@ -157,6 +158,8 @@ void AndroidCompass::stop() void AndroidCompass::testStuff() { + if (!m_accelerometerListener || !m_magnetometerListener) + return; qreal azimuth = AndroidSensors::getCompassAzimuth(m_accelerometerListener->reading, m_magnetometerListener->reading); azimuth = azimuth * 180.0 / M_PI; -- cgit v1.2.3