diff options
-rw-r--r-- | src/bluetooth/qlowenergycontroller_winrt.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/bluetooth/qlowenergycontroller_winrt.cpp b/src/bluetooth/qlowenergycontroller_winrt.cpp index d6fc4952..8d3d85d8 100644 --- a/src/bluetooth/qlowenergycontroller_winrt.cpp +++ b/src/bluetooth/qlowenergycontroller_winrt.cpp @@ -338,6 +338,7 @@ void QLowEnergyControllerPrivate::connectToDevice() emit q->connected(); } else if (state == QLowEnergyController::ConnectedState && status == BluetoothConnectionStatus::BluetoothConnectionStatus_Disconnected) { + setError(QLowEnergyController::RemoteHostClosedError); setState(QLowEnergyController::UnconnectedState); emit q->disconnected(); } @@ -419,6 +420,10 @@ void QLowEnergyControllerPrivate::disconnectFromDevice() Q_Q(QLowEnergyController); setState(QLowEnergyController::UnconnectedState); emit q->disconnected(); + if (mDevice && mStatusChangedToken.value) { + mDevice->remove_ConnectionStatusChanged(mStatusChangedToken); + mStatusChangedToken.value = 0; + } } ComPtr<IGattDeviceService> QLowEnergyControllerPrivate::getNativeService(const QBluetoothUuid &serviceUuid) |