summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensors/blackberry
diff options
context:
space:
mode:
authorThomas McGuire <thomas.mcguire.qnx@kdab.com>2012-08-24 14:10:57 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-28 00:33:19 +0200
commit2750ad7f862cedc7600637c442eea0caf29b1fd8 (patch)
tree11b068070d3203e2cbfac31311c1a5b3e5a0c450 /src/plugins/sensors/blackberry
parenta1637c935a0c7055cfc905c02d072af8e54fc948 (diff)
Pass through invalid data rates to the backend instead of ignoring them
This gives the backend the chance to do something sensible with it, at the expense of the data rate not being reported correctly in those cases. Change-Id: Iadf72b4448145f2454bc9422dde094ad799cb17a Reviewed-by: Lorn Potter <lorn.potter@nokia.com>
Diffstat (limited to 'src/plugins/sensors/blackberry')
-rw-r--r--src/plugins/sensors/blackberry/bbsensorbackend.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/sensors/blackberry/bbsensorbackend.cpp b/src/plugins/sensors/blackberry/bbsensorbackend.cpp
index 77570655..26bce35d 100644
--- a/src/plugins/sensors/blackberry/bbsensorbackend.cpp
+++ b/src/plugins/sensors/blackberry/bbsensorbackend.cpp
@@ -220,8 +220,14 @@ void BbSensorBackendBase::start()
const int result = devctl(m_deviceFile.handle(), DCMD_SENSOR_RATE, &deviceRate,
sizeof(deviceRate), NULL);
if (result != EOK) {
+ sensor()->setDataRate(0);
perror(QString::fromLatin1("Setting sensor rate for %1 failed")
.arg(m_deviceFile.fileName()).toLocal8Bit());
+ } else {
+ if (deviceRate.rx.rate > 0)
+ sensor()->setDataRate(microSecondsToHertz(deviceRate.rx.rate));
+ else
+ sensor()->setDataRate(0);
}
}