summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-06-26 03:00:50 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-06-26 03:00:50 +0200
commit1c76ffaf2cc77162ce8ee23d4604dc9925bef201 (patch)
tree562aa9858361c84a6758b857cffcc3c26b28020b
parent3e1c520f039484a9ecc5d6aacea5d761a183dc47 (diff)
parentc754e16ceddaf6826d2a74775df8409b3278d5b8 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
-rw-r--r--dist/changes-5.11.154
-rw-r--r--src/bluetooth/osx/osxbtcentralmanager.mm8
-rw-r--r--src/bluetooth/osx/osxbtcentralmanager_p.h3
-rw-r--r--src/nfc/qndefnfctextrecord.cpp2
-rw-r--r--src/nfc/qndefnfcurirecord.cpp2
-rw-r--r--src/nfc/qnearfieldtarget_android.cpp10
-rw-r--r--src/nfc/qnearfieldtarget_neard_p.h10
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