diff options
author | Kai Pastor <dg0yt@darc.de> | 2019-07-02 20:09:57 +0200 |
---|---|---|
committer | Kai Pastor <dg0yt@darc.de> | 2019-07-03 21:06:22 +0200 |
commit | 154ecd7b3048f22ee549c3838cc153cbc8cd33d2 (patch) | |
tree | b34c3949b4b72fa27aa7987e0b0097e8cb417007 /src | |
parent | 8b741cadcafd76c3de167d0b7a31be4fe25623d9 (diff) |
Android: Don't crash for unsupported accelerometer mode
According to documentation, changing the mode shall have no effect when
the device does not support a particular mode.
Task-number: QTBUG-76862
Change-Id: I805daa3a3f659e8aed25e4b7b6531f804dd654b2
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/sensors/android/androidaccelerometer.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/plugins/sensors/android/androidaccelerometer.cpp b/src/plugins/sensors/android/androidaccelerometer.cpp index c9f5141e..f38e0047 100644 --- a/src/plugins/sensors/android/androidaccelerometer.cpp +++ b/src/plugins/sensors/android/androidaccelerometer.cpp @@ -82,18 +82,24 @@ void AndroidAccelerometer::applyAccelerationMode(QAccelerometer::AccelerationMod { switch (accelerationMode) { case QAccelerometer::Gravity: - if (!(m_accelerationModes & Gravity)) + if (!(m_accelerationModes & Gravity)) { qWarning() << "Gravity sensor missing"; + return; + } setSensorType(ASENSOR_TYPE_GRAVITY); break; case QAccelerometer::User: - if (!(m_accelerationModes & LinearAcceleration)) + if (!(m_accelerationModes & LinearAcceleration)) { qWarning() << "Linear acceleration sensor missing"; + return; + } setSensorType(ASENSOR_TYPE_LINEAR_ACCELERATION); break; case QAccelerometer::Combined: - if (!(m_accelerationModes & Accelerometer)) + if (!(m_accelerationModes & Accelerometer)) { qWarning() << "Accelerometer sensor missing"; + return; + } setSensorType(ASENSOR_TYPE_ACCELEROMETER); break; } |