summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Wolff <oliver.wolff@qt.io>2019-04-03 09:47:49 +0200
committerOliver Wolff <oliver.wolff@qt.io>2019-04-10 09:12:27 +0000
commit6e8f174ea1183c2e3c9bbb61c54b0aa8ad8c3b9c (patch)
tree5f9bb77a984a0e1d7505fc9921982c329c1b1aec
parentc558fdbf15aace0cf09c031f1e417329b9aa6afa (diff)
winrt: Avoid asserts in readCharacteristic
Change-Id: I3617e22fcded5dc7066bf05c6d7bf791fce4dd02 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
-rw-r--r--src/bluetooth/qlowenergycontroller_winrt_new.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/bluetooth/qlowenergycontroller_winrt_new.cpp b/src/bluetooth/qlowenergycontroller_winrt_new.cpp
index 398e167f..fb8c3108 100644
--- a/src/bluetooth/qlowenergycontroller_winrt_new.cpp
+++ b/src/bluetooth/qlowenergycontroller_winrt_new.cpp
@@ -1034,7 +1034,8 @@ void QLowEnergyControllerPrivateWinRTNew::readCharacteristic(
}
ComPtr<IAsyncOperation<GattReadResult*>> readOp;
HRESULT hr = characteristic->ReadValueWithCacheModeAsync(BluetoothCacheMode_Uncached, &readOp);
- Q_ASSERT_SUCCEEDED(hr);
+ CHECK_HR_AND_SET_SERVICE_ERROR(hr, "Could not read characteristic",
+ service, QLowEnergyService::CharacteristicReadError, return S_OK)
auto readCompletedLambda = [charData, charHandle, service]
(IAsyncOperation<GattReadResult*> *op, AsyncStatus status)
{
@@ -1046,11 +1047,8 @@ void QLowEnergyControllerPrivateWinRTNew::readCharacteristic(
ComPtr<IGattReadResult> characteristicValue;
HRESULT hr;
hr = op->GetResults(&characteristicValue);
- if (FAILED(hr)) {
- qCDebug(QT_BT_WINRT) << "Could not obtain result for characteristic" << charHandle;
- service->setError(QLowEnergyService::CharacteristicReadError);
- return S_OK;
- }
+ CHECK_HR_AND_SET_SERVICE_ERROR(hr, "Could not obtain result for characteristic",
+ service, QLowEnergyService::CharacteristicReadError, return S_OK)
const QByteArray value = byteArrayFromGattResult(characteristicValue);
QLowEnergyServicePrivate::CharData charData = service->characteristicList.value(charHandle);
@@ -1061,10 +1059,12 @@ void QLowEnergyControllerPrivateWinRTNew::readCharacteristic(
};
hr = readOp->put_Completed(Callback<IAsyncOperationCompletedHandler<GattReadResult *>>(
readCompletedLambda).Get());
- Q_ASSERT_SUCCEEDED(hr);
+ CHECK_HR_AND_SET_SERVICE_ERROR(hr, "Could not register characteristic read callback",
+ service, QLowEnergyService::CharacteristicReadError, return S_OK)
return S_OK;
});
- Q_ASSERT_SUCCEEDED(hr);
+ CHECK_HR_AND_SET_SERVICE_ERROR(hr, "Could not run registration on Xaml thread",
+ service, QLowEnergyService::CharacteristicReadError, return)
}
void QLowEnergyControllerPrivateWinRTNew::readDescriptor(