diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-05-26 22:27:27 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-05-26 22:27:28 +0200 |
commit | 1fb7b1a2f99586776bafc751aafa761c1306931d (patch) | |
tree | cf7b2d6352838b9668aeb23edf80f59209aa974a | |
parent | 35a5cf01fb6ad16c039867d4f8ad3a3171fcc3a2 (diff) | |
parent | d67ca376b2111717de88596888f315fba05ef9c3 (diff) | |
download | qtconnectivity-1fb7b1a2f99586776bafc751aafa761c1306931d.tar.gz |
Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I0d7c92be8609cb7ec46b1895e1f270678ad681ae
-rw-r--r-- | src/bluetooth/qbluetoothsocket_bluez.cpp | 3 | ||||
-rw-r--r-- | src/bluetooth/qlowenergycontroller_bluez.cpp | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/bluetooth/qbluetoothsocket_bluez.cpp b/src/bluetooth/qbluetoothsocket_bluez.cpp index bbc32a90..25f07bb3 100644 --- a/src/bluetooth/qbluetoothsocket_bluez.cpp +++ b/src/bluetooth/qbluetoothsocket_bluez.cpp @@ -674,6 +674,9 @@ bool QBluetoothSocketPrivateBluez::setSocketDescriptor(int socketDescriptor, QBl connectWriteNotifier = nullptr; socketType = socketType_; + if (socket != -1) + QT_CLOSE(socket); + socket = socketDescriptor; // ensure that O_NONBLOCK is set on new connections. diff --git a/src/bluetooth/qlowenergycontroller_bluez.cpp b/src/bluetooth/qlowenergycontroller_bluez.cpp index 65f4e0c2..dfa21004 100644 --- a/src/bluetooth/qlowenergycontroller_bluez.cpp +++ b/src/bluetooth/qlowenergycontroller_bluez.cpp @@ -3115,6 +3115,14 @@ void QLowEnergyControllerPrivateBluez::handleConnectionRequest() if (connectionHandle == 0) qCWarning(QT_BT_BLUEZ) << "Received client connection, but no connection complete event"; + if (l2cpSocket) { + disconnect(l2cpSocket); + if (l2cpSocket->isOpen()) + l2cpSocket->close(); + + l2cpSocket->deleteLater(); + l2cpSocket = nullptr; + } closeServerSocket(); QBluetoothSocketPrivateBluez *rawSocketPrivate = new QBluetoothSocketPrivateBluez(); |