summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qbluetoothsocket_winrt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bluetooth/qbluetoothsocket_winrt.cpp')
-rw-r--r--src/bluetooth/qbluetoothsocket_winrt.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/bluetooth/qbluetoothsocket_winrt.cpp b/src/bluetooth/qbluetoothsocket_winrt.cpp
index ec511974..8fa1338f 100644
--- a/src/bluetooth/qbluetoothsocket_winrt.cpp
+++ b/src/bluetooth/qbluetoothsocket_winrt.cpp
@@ -129,6 +129,9 @@ public:
~SocketWorker()
{
+ }
+ void close()
+ {
if (Q_UNLIKELY(m_initialReadOp)) {
ComPtr<IAsyncInfo> info;
HRESULT hr = m_initialReadOp.As(&info);
@@ -312,6 +315,7 @@ QBluetoothSocketPrivate::QBluetoothSocketPrivate()
socketType(QBluetoothServiceInfo::UnknownProtocol),
state(QBluetoothSocket::UnconnectedState),
socketError(QBluetoothSocket::NoSocketError),
+ discoveryAgent(0),
secFlags(QBluetooth::NoSecurity),
m_worker(new SocketWorker())
{
@@ -404,6 +408,7 @@ void QBluetoothSocketPrivate::abort()
this, &QBluetoothSocketPrivate::handleNewData);
disconnect(m_worker, &SocketWorker::socketErrorOccured,
this, &QBluetoothSocketPrivate::handleError);
+ m_worker->close();
m_worker->deleteLater();
if (socket != -1) {