summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensors/winrt/winrtaccelerometer.cpp
diff options
context:
space:
mode:
authorAndrew Knight <andrew.knight@digia.com>2014-08-08 10:34:13 +0300
committerAndrew Knight <andrew.knight@digia.com>2014-08-08 15:26:03 +0200
commit67dc29a96cf78ee4f4f2bfc42bfdde458138cd31 (patch)
tree560eebd8b8a4b1fb02d1bf5947f589ca26af8fc1 /src/plugins/sensors/winrt/winrtaccelerometer.cpp
parentb11494a1e51aba86ce945911ffbdc693a7eabff6 (diff)
winrt: Avoid divide-by-zero when starting sensors
Several sensors were setting the dataRate without checking the value first. If the dataRate is zero, then don't set the native rate (use the default). Task-number: QTBUG-40664 Change-Id: I50e78fd071bd1f56e47baf23b74900b8a6e6c7eb Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
Diffstat (limited to 'src/plugins/sensors/winrt/winrtaccelerometer.cpp')
-rw-r--r--src/plugins/sensors/winrt/winrtaccelerometer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/sensors/winrt/winrtaccelerometer.cpp b/src/plugins/sensors/winrt/winrtaccelerometer.cpp
index 7029f11d..80d269c0 100644
--- a/src/plugins/sensors/winrt/winrtaccelerometer.cpp
+++ b/src/plugins/sensors/winrt/winrtaccelerometer.cpp
@@ -172,7 +172,12 @@ void WinRtAccelerometer::start()
sensorError(hr);
return;
}
- quint32 reportInterval = qMax(d->minimumReportInterval, quint32(1000/sensor()->dataRate()));
+
+ int dataRate = sensor()->dataRate();
+ if (!dataRate)
+ return;
+
+ quint32 reportInterval = qMax(d->minimumReportInterval, quint32(1000/dataRate));
hr = d->sensor->put_ReportInterval(reportInterval);
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to attach to set report interval."