diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-07-31 03:01:11 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2018-07-31 10:21:38 +0200 |
commit | f9ad6b0afeb1b4106f82803675425d7e6e708bdb (patch) | |
tree | ad134723aa2e4d972d165c48b1a384d67d999b0d /src/bluetooth/qbluetoothsocket_osx.mm | |
parent | de75c33d431fd9281175de51218e02fdf03afa7c (diff) | |
parent | 9b48eeaa970926a60a886cadd54414f659a0af18 (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
.qmake.conf
src/bluetooth/qbluetoothsocket.cpp
Change-Id: If622e4915a9c5f6711978ef8c0fa88f4c5084270
Diffstat (limited to 'src/bluetooth/qbluetoothsocket_osx.mm')
-rw-r--r-- | src/bluetooth/qbluetoothsocket_osx.mm | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/bluetooth/qbluetoothsocket_osx.mm b/src/bluetooth/qbluetoothsocket_osx.mm index ea39bb39..7f630146 100644 --- a/src/bluetooth/qbluetoothsocket_osx.mm +++ b/src/bluetooth/qbluetoothsocket_osx.mm @@ -444,20 +444,22 @@ void QBluetoothSocket::connectToService(const QBluetoothServiceInfo &service, Op { OSXBluetooth::qt_test_iobluetooth_runloop(); + if (state() != UnconnectedState && state() != ServiceLookupState) { + qCWarning(QT_BT_OSX) << "called on a busy socket"; + d_ptr->errorString = QCoreApplication::translate(SOCKET, SOC_CONNECT_IN_PROGRESS); + setSocketError(OperationError); + return; + } + // Report this problem early, potentially avoid device discovery: - if (socketType() == QBluetoothServiceInfo::UnknownProtocol) { + if (service.socketProtocol() == QBluetoothServiceInfo::UnknownProtocol) { qCWarning(QT_BT_OSX) << Q_FUNC_INFO << "cannot connect with 'UnknownProtocol' type"; d_ptr->errorString = QCoreApplication::translate(SOCKET, SOC_NETWORK_ERROR); setSocketError(QBluetoothSocket::UnsupportedProtocolError); return; } - if (state() != UnconnectedState && state() != ServiceLookupState) { - qCWarning(QT_BT_OSX) << "called on a busy socket"; - d_ptr->errorString = QCoreApplication::translate(SOCKET, SOC_CONNECT_IN_PROGRESS); - setSocketError(OperationError); - return; - } + d_ptr->socketType = service.socketProtocol(); if (service.protocolServiceMultiplexer() > 0) { d_ptr->connectToService(service.device().address(), |