From facae1ad357a80859da51f52f49db8c53d2e89be Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Tue, 17 Jun 2014 14:29:19 +0200 Subject: WinRT: Check whether default sensors were obtained successfully In case of an unsuccessful call of the GetDefault function the returned HRESULT does not have the FAILED status but the returned sensor is 0. Task-number: QTBUG-39698 Change-Id: I42a8327c1d7687ab7a8ca71be5a2234b2c4e0b38 Reviewed-by: Andrew Knight --- src/plugins/sensors/winrt/winrtaccelerometer.cpp | 2 +- src/plugins/sensors/winrt/winrtambientlightsensor.cpp | 2 +- src/plugins/sensors/winrt/winrtcompass.cpp | 4 ++-- src/plugins/sensors/winrt/winrtgyroscope.cpp | 2 +- src/plugins/sensors/winrt/winrtorientationsensor.cpp | 2 +- src/plugins/sensors/winrt/winrtrotationsensor.cpp | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/plugins/sensors/winrt/winrtaccelerometer.cpp b/src/plugins/sensors/winrt/winrtaccelerometer.cpp index c8e8b26c..16261c6f 100644 --- a/src/plugins/sensors/winrt/winrtaccelerometer.cpp +++ b/src/plugins/sensors/winrt/winrtaccelerometer.cpp @@ -130,7 +130,7 @@ WinRtAccelerometer::WinRtAccelerometer(QSensor *sensor) } hr = factory->GetDefault(&d->sensor); - if (FAILED(hr)) { + if (FAILED(hr) || !d->sensor) { qCWarning(lcWinRtSensors) << "Unable to get default accelerometer." << qt_error_string(hr); sensorError(hr); diff --git a/src/plugins/sensors/winrt/winrtambientlightsensor.cpp b/src/plugins/sensors/winrt/winrtambientlightsensor.cpp index 18ee6418..33bbac14 100644 --- a/src/plugins/sensors/winrt/winrtambientlightsensor.cpp +++ b/src/plugins/sensors/winrt/winrtambientlightsensor.cpp @@ -129,7 +129,7 @@ WinRtAmbientLightSensor::WinRtAmbientLightSensor(QSensor *sensor) } hr = factory->GetDefault(&d->sensor); - if (FAILED(hr)) { + if (FAILED(hr) || !d->sensor) { qCWarning(lcWinRtSensors) << "Unable to get default light sensor." << qt_error_string(hr); sensorError(hr); diff --git a/src/plugins/sensors/winrt/winrtcompass.cpp b/src/plugins/sensors/winrt/winrtcompass.cpp index bc2430f2..6a678e2a 100644 --- a/src/plugins/sensors/winrt/winrtcompass.cpp +++ b/src/plugins/sensors/winrt/winrtcompass.cpp @@ -150,8 +150,8 @@ WinRtCompass::WinRtCompass(QSensor *sensor) } hr = factory->GetDefault(&d->sensor); - if (FAILED(hr)) { - qCWarning(lcWinRtSensors) << "Unable to get default light sensor." + if (FAILED(hr) || !d->sensor) { + qCWarning(lcWinRtSensors) << "Unable to get default compass." << qt_error_string(hr); sensorError(hr); return; diff --git a/src/plugins/sensors/winrt/winrtgyroscope.cpp b/src/plugins/sensors/winrt/winrtgyroscope.cpp index dec65123..1e729a16 100644 --- a/src/plugins/sensors/winrt/winrtgyroscope.cpp +++ b/src/plugins/sensors/winrt/winrtgyroscope.cpp @@ -127,7 +127,7 @@ WinRtGyroscope::WinRtGyroscope(QSensor *sensor) } hr = factory->GetDefault(&d->sensor); - if (FAILED(hr)) { + if (FAILED(hr) || !d->sensor) { qCWarning(lcWinRtSensors) << "Unable to get default gyroscope sensor." << qt_error_string(hr); sensorError(hr); diff --git a/src/plugins/sensors/winrt/winrtorientationsensor.cpp b/src/plugins/sensors/winrt/winrtorientationsensor.cpp index 6d85e51c..b8c7e81d 100644 --- a/src/plugins/sensors/winrt/winrtorientationsensor.cpp +++ b/src/plugins/sensors/winrt/winrtorientationsensor.cpp @@ -135,7 +135,7 @@ WinRtOrientationSensor::WinRtOrientationSensor(QSensor *sensor) } hr = factory->GetDefault(&d->sensor); - if (FAILED(hr)) { + if (FAILED(hr) || !d->sensor) { qCWarning(lcWinRtSensors) << "Unable to get default orientation sensor." << qt_error_string(hr); sensorError(hr); diff --git a/src/plugins/sensors/winrt/winrtrotationsensor.cpp b/src/plugins/sensors/winrt/winrtrotationsensor.cpp index e4e3edc9..576545e7 100644 --- a/src/plugins/sensors/winrt/winrtrotationsensor.cpp +++ b/src/plugins/sensors/winrt/winrtrotationsensor.cpp @@ -125,7 +125,7 @@ WinRtRotationSensor::WinRtRotationSensor(QSensor *sensor) } hr = factory->GetDefault(&d->sensor); - if (FAILED(hr)) { + if (FAILED(hr) || !d->sensor) { qCWarning(lcWinRtSensors) << "Unable to get default rotation sensor." << qt_error_string(hr); sensorError(hr); -- cgit v1.2.3