summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Pastor <dg0yt@darc.de>2019-07-02 20:09:57 +0200
committerKai Pastor <dg0yt@darc.de>2019-07-03 21:06:22 +0200
commit154ecd7b3048f22ee549c3838cc153cbc8cd33d2 (patch)
treeb34c3949b4b72fa27aa7987e0b0097e8cb417007
parent8b741cadcafd76c3de167d0b7a31be4fe25623d9 (diff)
downloadqtsensors-154ecd7b3048f22ee549c3838cc153cbc8cd33d2.tar.gz
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>
-rw-r--r--src/plugins/sensors/android/androidaccelerometer.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/plugins/sensors/android/androidaccelerometer.cpp b/src/plugins/sensors/android/androidaccelerometer.cpp
index c9f5141..f38e004 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;
}