diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-06-26 03:00:50 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-06-26 03:00:50 +0200 |
commit | 1c76ffaf2cc77162ce8ee23d4604dc9925bef201 (patch) | |
tree | 562aa9858361c84a6758b857cffcc3c26b28020b | |
parent | 3e1c520f039484a9ecc5d6aacea5d761a183dc47 (diff) | |
parent | c754e16ceddaf6826d2a74775df8409b3278d5b8 (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I68aa4ba1a2019bb0240f95df6abab7f474677757
-rw-r--r-- | dist/changes-5.11.1 | 54 | ||||
-rw-r--r-- | src/bluetooth/osx/osxbtcentralmanager.mm | 8 | ||||
-rw-r--r-- | src/bluetooth/osx/osxbtcentralmanager_p.h | 3 | ||||
-rw-r--r-- | src/nfc/qndefnfctextrecord.cpp | 2 | ||||
-rw-r--r-- | src/nfc/qndefnfcurirecord.cpp | 2 | ||||
-rw-r--r-- | src/nfc/qnearfieldtarget_android.cpp | 10 | ||||
-rw-r--r-- | src/nfc/qnearfieldtarget_neard_p.h | 10 |
7 files changed, 78 insertions, 11 deletions
diff --git a/dist/changes-5.11.1 b/dist/changes-5.11.1 new file mode 100644 index 00000000..b4df5c88 --- /dev/null +++ b/dist/changes-5.11.1 @@ -0,0 +1,54 @@ +Qt 5.11.1 is a bug-fix release. It maintains both forward and backward +compatibility (source and binary) with Qt 5.11.0. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +http://doc.qt.io/qt-5/index.html + +The Qt version 5.11 series is binary compatible with the 5.10.x series. +Applications compiled for 5.10 will continue to run with 5.11. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* Qt 5.11.1 Changes * +**************************************************************************** + +QtBluetooth +----------- + + - [QTBUG-67672] Addressed missing emission of readChannelFinished() in + QBluetoothSocket as required by QIODevice. + +**************************************************************************** +* Platform Specific Changes * +**************************************************************************** + +Android +------- + + - [QTBUG-65826] Fixed crash in QLowEnergyController during service discovery. + +iOS/macOS +--------- + + - [QTBUG-68422] Fixed never-ending QLowEnergyController service discovery due + to remote peripheral devices not responding properly to requests. A timeout + was added to catch such cases. + +Linux/BlueZ +----------- + + - [QTBUG-64735] Fixed blocking QBluetoothLocalDevice::requestPairing() call + which should not block. + + - Fixed missing service invalidation when calling + QLowEnergyController::disconnectService(). + diff --git a/src/bluetooth/osx/osxbtcentralmanager.mm b/src/bluetooth/osx/osxbtcentralmanager.mm index b56dc0d5..9254bd98 100644 --- a/src/bluetooth/osx/osxbtcentralmanager.mm +++ b/src/bluetooth/osx/osxbtcentralmanager.mm @@ -229,6 +229,9 @@ QT_END_NAMESPACE qCWarning(QT_BT_OSX, "Timeout while reading a descriptor"); [self peripheral:peripheral didUpdateValueForDescriptor:objectUnderWatch error:nsError]; break; + case OperationTimeout::characteristicWrite: + qCWarning(QT_BT_OSX, "Timeout while writing a characteristic with response"); + [self peripheral:peripheral didWriteValueForCharacteristic:objectUnderWatch error:nsError]; default:; } } @@ -751,6 +754,7 @@ QT_END_NAMESPACE return [self performNextRequest]; requestPending = true; + [self watchAfter:characteristic timeout:OperationTimeout::characteristicWrite]; [peripheral writeValue:data.data() forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse]; } else { @@ -1621,6 +1625,10 @@ QT_END_NAMESPACE QT_BT_MAC_AUTORELEASEPOOL; + if (characteristic != objectUnderWatch) + return; + + [self stopWatchdog]; requestPending = false; diff --git a/src/bluetooth/osx/osxbtcentralmanager_p.h b/src/bluetooth/osx/osxbtcentralmanager_p.h index c0f278b2..e172d874 100644 --- a/src/bluetooth/osx/osxbtcentralmanager_p.h +++ b/src/bluetooth/osx/osxbtcentralmanager_p.h @@ -95,7 +95,8 @@ enum class OperationTimeout characteristicsDiscovery, characteristicRead, descriptorsDiscovery, - descriptorRead + descriptorRead, + characteristicWrite }; // In Qt we work with handles and UUIDs. Core Bluetooth diff --git a/src/nfc/qndefnfctextrecord.cpp b/src/nfc/qndefnfctextrecord.cpp index 78736cc0..95fb4c66 100644 --- a/src/nfc/qndefnfctextrecord.cpp +++ b/src/nfc/qndefnfctextrecord.cpp @@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE /*! \class QNdefNfcTextRecord - \brief The QNdefNfcTextRecord class provides an NFC RTD-Text + \brief The QNdefNfcTextRecord class provides an NFC RTD-Text. \ingroup connectivity-nfc \inmodule QtNfc diff --git a/src/nfc/qndefnfcurirecord.cpp b/src/nfc/qndefnfcurirecord.cpp index 44b17adf..3438d9f2 100644 --- a/src/nfc/qndefnfcurirecord.cpp +++ b/src/nfc/qndefnfcurirecord.cpp @@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE /*! \class QNdefNfcUriRecord - \brief The QNdefNfcUriRecord class provides an NFC RTD-URI + \brief The QNdefNfcUriRecord class provides an NFC RTD-URI. \ingroup connectivity-nfc \inmodule QtNfc diff --git a/src/nfc/qnearfieldtarget_android.cpp b/src/nfc/qnearfieldtarget_android.cpp index 26f3d429..30b2eeca 100644 --- a/src/nfc/qnearfieldtarget_android.cpp +++ b/src/nfc/qnearfieldtarget_android.cpp @@ -193,8 +193,9 @@ QNearFieldTarget::RequestId NearFieldTarget::readNdefMessages() QNdefMessage qNdefMessage = QNdefMessage::fromByteArray(ndefMessageQBA); QMetaObject::invokeMethod(this, "ndefMessageRead", Qt::QueuedConnection, Q_ARG(QNdefMessage, qNdefMessage)); - QMetaObject::invokeMethod(this, "requestCompleted", Qt::QueuedConnection, - Q_ARG(QNearFieldTarget::RequestId, requestId)); + QMetaObject::invokeMethod(this, [this, requestId]() { + Q_EMIT this->requestCompleted(requestId); + }, Qt::QueuedConnection); QMetaObject::invokeMethod(this, "ndefMessageRead", Qt::QueuedConnection, Q_ARG(QNdefMessage, qNdefMessage), Q_ARG(QNearFieldTarget::RequestId, requestId)); @@ -273,8 +274,9 @@ QNearFieldTarget::RequestId NearFieldTarget::sendCommand(const QByteArray &comma // Closing connection disconnect(); // IOException at this point does not matter anymore. } - QMetaObject::invokeMethod(this, "requestCompleted", Qt::QueuedConnection, - Q_ARG(QNearFieldTarget::RequestId&, requestId)); + QMetaObject::invokeMethod(this, [this, requestId]() { + Q_EMIT this->requestCompleted(requestId); + }, Qt::QueuedConnection); return requestId; } diff --git a/src/nfc/qnearfieldtarget_neard_p.h b/src/nfc/qnearfieldtarget_neard_p.h index 78dedeeb..053df141 100644 --- a/src/nfc/qnearfieldtarget_neard_p.h +++ b/src/nfc/qnearfieldtarget_neard_p.h @@ -355,8 +355,9 @@ private: QMetaObject::invokeMethod(this, "ndefMessageRead", Qt::QueuedConnection, Q_ARG(QNdefMessage, newNdefMessage)); // the request id in requestCompleted has to match the one created in readNdefMessages - QMetaObject::invokeMethod(this, "requestCompleted", Qt::QueuedConnection, - Q_ARG(QNearFieldTarget::RequestId, m_currentReadRequestId)); + QMetaObject::invokeMethod(this, [this]() { + Q_EMIT this->requestCompleted(this->m_currentReadRequestId); + }, Qt::QueuedConnection); } else { QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection, Q_ARG(QNearFieldTarget::Error, QNearFieldTarget::UnknownError), @@ -394,8 +395,9 @@ private: } QMetaObject::invokeMethod(this, "ndefMessagesWritten", Qt::QueuedConnection); - QMetaObject::invokeMethod(this, "requestCompleted", Qt::QueuedConnection, - Q_ARG(QNearFieldTarget::RequestId, m_currentWriteRequestId)); + QMetaObject::invokeMethod(this, [this]() { + Q_EMIT this->requestCompleted(this->m_currentWriteRequestId); + }, Qt::QueuedConnection); } // invalidate current write request |