diff options
author | Thomas McGuire <thomas.mcguire.qnx@kdab.com> | 2012-08-24 14:10:57 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-08-28 00:33:19 +0200 |
commit | 2750ad7f862cedc7600637c442eea0caf29b1fd8 (patch) | |
tree | 11b068070d3203e2cbfac31311c1a5b3e5a0c450 /src/plugins/sensors/blackberry | |
parent | a1637c935a0c7055cfc905c02d072af8e54fc948 (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.cpp | 6 |
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); } } |