summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add changes file for Qt 5.13.0v5.13.0-rc3v5.13.0-rc2v5.13.0-rc1v5.13.0-beta4v5.13.0Alex Blasche2019-05-071-0/+59
| | | | | Change-Id: I9dae4c32cfe713c66a0fa9765357dc8162353caf Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into ↵Liang Qi2019-04-256-8/+97
|\ | | | | | | refs/staging/5.13
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-206-8/+97
| |\ | | | | | | | | | Change-Id: Ifa3782b009430df67ef2e7ba78ea7d14cc053aa8
| | * Merge remote-tracking branch 'origin/5.12.3' into 5.12Qt Forward Merge Bot2019-04-171-0/+42
| | |\ | | | | | | | | | | | | Change-Id: I963e91cc2547b4ceedcebd22c17149385c503575
| | | * Add changes file for Qt 5.12.3v5.12.3Alex Blasche2019-04-031-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 3f9ba9c07322d90f8f918d9e144e84d422e4cfbd Bluez-DBus: Fix crash at calling disconnect while not connected + a61ee48bc16fae61cabb9a242f3a7c19caa4cbfd LE/Android: add consistency check in method called from Qt API + 16f033fb13a3005eefbe8b7b6ccc52bfda08649e Address compile error on gcc 4.8 + c488aedb42cda76085cfc0ed2602c34c3b5353a6 Bump version + 75648df8fa91fc0918285988e75ec996f0dc0f97 qlowenergycontroller_android_p.h: Remove unrelated preprocessor blocks + 043145014565dad540b416a0b369a7d04630e649 Update SensorTag documentation URL + 545b282d6d4a3c66e00c41ffd83c1a69f6fd0ad2 Ensure DBus based QBluetoothSocket emits bytesWritten() signal + d21da7829811d129b96ca0eb2a56cb6bdae4f1a7 Convert bttestui to Qt5 style connect() syntax Change-Id: Ibbd7fed9375e8990882ab4d85c1875dcdb5b76c4 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * | CoreBluetooth: add a missing -peripheral:didModifyServices: methodTimur Pocheptsov2019-04-164-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With some peculiar device we suddenly (during the service details discovery) got a crash with CBDescriptor suddenly becoming something else - NSString, NSMutableArray etc. - meaning the object was deleted and its memory re-used. It would appear, CBPeripheral can suddenly change it's services tree and it informs its delegate (aka 'us') about this change using the (previously) missing method. In this method we cannot do much, due to the specificity of our public API that allows concurrent discoveries, it's 'non-monolitic' (in several steps) discoveries etc. etc. So the only thing we can do - stop everything, remove all services, transition to QLowEnergyController::ConnectedState and wait for a user to re-discover services. Fixes: QTBUG-75043 Change-Id: Ie98d90aea112e40b4c6771e3f7315772dfd92b39 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * | winrt: Fix reading of descriptor valuesOliver Wolff2019-04-151-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have to access the service data instead of relying on passed references as these references might have run out of scope and thus might not be valid any more. Fixes: QTBUG-75070 Change-Id: I02ad0fef2337488c926fb950ddf2da6eda56a396 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | | Fix nfc corkboard example on AndroidAlex Blasche2019-04-251-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | The example specified an Android SDK version to low for Qt's general min SDK version which was raised to v21 in Qt 5.13. Change-Id: I3555df2aee90bcda6e5493cd8bc10b6873279887 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | winrt: Remove unused functionv5.13.0-beta3Oliver Wolff2019-04-151-28/+0
| | | | | | | | | | | | | | | Change-Id: I795c9b60454c350c56a4dd362b5b359b12a3a8f9 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Move byteArrayFromBuffer into qbluetoothutils_winrtOliver Wolff2019-04-156-82/+43
| | | | | | | | | | | | | | | | | | | | | | | | That code has been (unneededly) duplicated several times. We should have that helper function just once. Change-Id: I28fc9c5f7f7218b7870dc30bec228c9af8c6b090 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Avoid asserts in helper functionsOliver Wolff2019-04-151-8/+24
| | | | | | | | | | | | | | | Change-Id: I1759d7507d778ee60c6727621a3f58a7c7509718 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-134-44/+78
|\| | | | | | | | | | | Change-Id: I92b7c4a2948ddb8bdf7fead0a3351379138b0905
| * | Don't create QBluetoothServiceInfo when uuid is nullAlex Blasche2019-04-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Sometimes Android returns a null uuid as SDP result. There is no point processing them further. Change-Id: I07b52e79a31becda72452e3446aca9ea4933968b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * | Android: Don't filter SPP uuidAlex Blasche2019-04-121-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though it is not recommended to listen on reserverd BT UUIDs, there are SPP services which do not advertise with a custom uuid or the custom uuid is not an SPP service. In such cases we want a BluetoothServiceInfo instance that advertises SPP as serviceUuid(). Change-Id: Ic54d663392f8f8b2ba5684c57216bf2b69aca477 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| * | Streamline QBluetoothServiceDiscoveryAgentPrivate::populateDiscoveredServicesAlex Blasche2019-04-101-32/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | The changes are of cosmetic or code optimization nature. The functionality is not changed at all. Change-Id: Ideb63d87ed07201024b73e2f40d33393b68963bc Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * | Android: Increase chance of establishing serial connection w/o SPP uuidAlex Blasche2019-04-102-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SDP discovery on Android only returns a flat list of uuids. It mixes service class uuid and service uuids. Furthermore it is unable to detect whether a serial connection uses rfcomm or l2cp as base protocol. The last limitation is the fact that serial sockets can only be established using rfcomm (no l2cp). This poses a serious challenge because there is no way to say whether a given custom service uuid is indeed an SPP based service or whether it uses rfcomm. The only way to know for sure is to connect and check whether it succeeds. This also means QBluetoothServiceInfo instances returned by QBluetoothServiceDiscoveryAgent may or may not mark a serial service with SPP uuid or rfcomm protocol tag. Currently, it guess that that a custom uuid together with SPP uuid implies an rfcomm setup. If the SPP uuid was not found, rfcomm is never set (but is a requirement for QBluetoothSocket). This patch makes QBluetoothSocket on Android a bit more forgiving by assuming every given QBluetoothServiceInfo instance requires rfcomm. After all that's the only supported protocol on Android. Fixes: QTBUG-75035 Change-Id: I498ac5acd2a394b198a113fd23d750bbf17a7f7b Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| * | Fix clang-cl errors about narrowing conversionsKai Koehne2019-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Force value to be a DWORD (unsigned long) instead of HRESULT (signed long). Fixes bluetoothsocket_winrt.cpp(770,10): error: case value evaluates to 2147952460, which cannot be narrowed to type 'long' [-Wc++11-narrowing] Change-Id: I4f1eb75807d4783b835094ad1b33e56f601ffb39 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Update plugins.qmltypes for Qt 5.13Kai Koehne2019-04-122-4/+4
| | | | | | | | | | | | | | | Change-Id: I518201f08040260e85968347cc4c68330f1b8787 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Avoid asserts in discoverServiceDetailsOliver Wolff2019-04-101-15/+26
| | | | | | | | | | | | | | | Change-Id: Ib949c16d80a09c47a0bb332e026459438c901031 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Avoid asserts in writeCharacteristicOliver Wolff2019-04-101-9/+18
| | | | | | | | | | | | | | | Change-Id: I3044324fb300b918ae466d3c4430c4dd55eed2bd Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Avoid asserts in readCharacteristicOliver Wolff2019-04-101-8/+8
| | | | | | | | | | | | | | | Change-Id: I3617e22fcded5dc7066bf05c6d7bf791fce4dd02 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Avoid asserts in writeDescriptorOliver Wolff2019-04-101-24/+59
| | | | | | | | | | | | | | | Change-Id: Ib8de4e76893104f27d79f44440a0186985d9abe5 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Avoid asserts in readDescriptorOliver Wolff2019-04-101-25/+71
| | | | | | | | | | | | | | | Change-Id: I0a446e5bc81e3d306da7c15e0c1907dab459a129 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Avoid deprecated functions and asserts in discoverServicesOliver Wolff2019-04-101-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | get_GattServices is deprecated and we should use the operation's result to obtain the list of services. Change-Id: I45e7217f0667ade4fe975e13010238dbe48f197e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Avoid deprecated functions and asserts in obtainIncludedServicesOliver Wolff2019-04-101-9/+20
| | | | | | | | | | | | | | | | | | | | | | | | GetAllIncludedServices is marked deprecated and GetIncludedServicesAsync should be used instead. Change-Id: Ib5778809c1f90be9cddc9dd12e831c998f50469c Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Avoid asserts in getNativeCharacteristicOliver Wolff2019-04-101-2/+23
| | | | | | | | | | | | | | | Change-Id: I4a555222071c75a56b45477b1a894b929ffc1e58 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: unregister status change callbacks on disconnectOliver Wolff2019-04-102-10/+20
| | | | | | | | | | | | | | | | | | | | | We have to prevent late callbacks. Change-Id: Iedb36cdfb9708403bdbd68b68718c4b26f38d657 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Avoid asserts in connectToDeviceOliver Wolff2019-04-101-102/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | get_GattServices is marked deprecated and GetGattServicesAsync should be used instead. We should avoid asserts whenever possible as users might run into "crashes" otherwise. Change-Id: Ibd07a846f3a23d3390061e42fd034d21ec2b9901 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Do not assert/crash in registerforValueChanges/unregisterFromValueChangesOliver Wolff2019-04-101-1/+13
| | | | | | | | | | | | | | | Change-Id: I6ea4ae73b53cd705156e15ce8820467bddedcf6f Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | winrt: Proper error handling in obtainCharListOliver Wolff2019-04-102-147/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GetAllCharacteristics was deprecated by MS and GetCharacteristicsAsync should be used. Additionally we should avoid asserts and instead try to handle errors gracefully whenever possible as users will run into "crashes" otherwise Change-Id: I45d52374f8612621b5b3974a973d9a1a95b851ee Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into 5.13v5.13.0-beta2Qt Forward Merge Bot2019-04-066-38/+44
|\| | | | | | | | | | | Change-Id: Ieeeab88ca3afd1fb42aafb9e05bf426caec065ef
| * | Use QAndroidJniExceptionCleaner instead of QAndroidJniEnvironmentBogDan Vatra2019-04-051-11/+4
| | | | | | | | | | | | | | | Change-Id: I357091799f04a3ef1c8df78960eb63a46e2b3d6c Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | Fix possible leakBogDan Vatra2019-04-051-2/+1
| | | | | | | | | | | | | | | Change-Id: Ide883a3c354eb42ea0017e1d623843967b522083 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | Check the reverted UUID when filteringBogDan Vatra2019-04-053-25/+33
| | | | | | | | | | | | | | | Change-Id: Idb12d3bb116d6c5b34f1ca145f473b118b58d5ee Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | Enable bttestui to test QBluetoothSocket::bytesWritten() signalAlex Blasche2019-04-011-0/+6
| |/ | | | | | | | | Change-Id: Id29865014043963f7edf22cc81a2bd7a91c55a60 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | winrt: More corrections for handling device disconnectionsOliver Wolff2019-03-282-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The signal about device disconnections has to be done at the very end of disconnectFromDevice as a user's application might access an invalid mDevice otherwise if it tries to reconnect automatically. The list of device services has to be invalidated when a remote device disconnects. The same is done in other backends. Additionally the "valueChanged" callbacks should be unregistered on device disconnection. Thus we avoid late callbacks which might cause asserts. Task-number: QTBUG-74394 Change-Id: I156be8ebefc9d9e5533bc60e7018088641680ba3 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-278-69/+65
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Id7c4409314c2ad5daf5bc9860befe096a2384849
| * Convert bttestui to Qt5 style connect() syntaxAlex Blasche2019-03-251-45/+45
| | | | | | | | | | Change-Id: Ib110da9e0a28fe54b12bcfe92d1e58447a42328e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * Ensure DBus based QBluetoothSocket emits bytesWritten() signalAlex Blasche2019-03-251-0/+2
| | | | | | | | | | | | | | | | | | [ChangeLog][QtBluetooth][Linux/BlueZ] Fixed missing emission of QBluetoothSocket::bytesWritten() signal on Bluez v5.46+. Fixes: QTBUG-74513 Change-Id: I93cb5abe65e13f6a5cc5bb195cc98526a507916a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * Update SensorTag documentation URLAlex Blasche2019-03-251-2/+3
| | | | | | | | | | Change-Id: Ia97bc59eb1d26aeba00d1c729b327c2eb857987c Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * qlowenergycontroller_android_p.h: Remove unrelated preprocessor blocksOliver Wolff2019-03-251-16/+0
| | | | | | | | | | Change-Id: I964806ccdb3bd39a33b860d496ef05f8b96135db Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * Bump versionKari Oikarinen2019-03-211-1/+1
| | | | | | | | Change-Id: I9bfd6c6128289f20221f8cb0176cbc527997490e
| * Address compile error on gcc 4.8Alex Blasche2019-03-193-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partly reverts b3b387698e8f685e8bd4f4843a170da40e17249b. The global static connect was not correct. Furthermore the new global static variable was triggering src/nfc/qnearfieldtarget_emulator_p.h:125:31: warning: 'globalTagActivator' defined but not used [-Wunused-variable] The global static variable is shifted to no longer require exposure inside the header file. Fixes: QTBUG-74538 Change-Id: Ic5e8211d358bae9c2ed0418aec5c4316fb249c98 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * LE/Android: add consistency check in method called from Qt APIKonstantin Ritt2019-03-191-0/+3
| | | | | | | | | | | | | | | | Call to includedServices() from Qt side after unexpected disconnection leads to NullPointerException due to unchecked member access. Fix that! Change-Id: Iae89801d7af86d5a3f34ebba9eb2ea12da252cd2 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Remove winrt TODOs about manufacturer dataOliver Wolff2019-03-252-3/+0
| | | | | | | | | | | | Task-number: QTBUG-71943 Change-Id: I35f9aedb0615d8341f93f67b4549d1e9a03c9cb9 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | winrt: Fix deprecation warningOliver Wolff2019-03-251-6/+5
| | | | | | | | | | | | | | | | | | | | | | IGattCharacteristic::GetAllDescriptor is deprecated and thus should not be used. As we are calling GetDescriptorsAsync anyways and are inside the Completed callback of that function we should use its result anyways. Change-Id: I362f860d66da75dd899ed89604e426952ce9fe1b Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | winrt: Fix notifications in Bluetooth LEOliver Wolff2019-03-191-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have to register callbacks for every indicatable characteristics we encounter during lookup so we have to store our list for the whole lookup period. Previously the list of indicatable characteristics was recreated in every "Completed" handler of Characteristic::GetDescriptorsAsync. The result was, that at most 1 indicatable characteristic was found. That behavior is wrong and we have to store the list of indicatable characteristics through the whole obtainCharList call. Fixes: QTBUG-74394 Change-Id: Ie93d9bd0184686d2d7cf9b082e85cf89ca5493ce Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | winrt: Stop LE device watcher when discovery is finishedOliver Wolff2019-03-191-4/+5
| | | | | | | | | | | | | | | | | | | | | | In order to protect ourselves from late callbacks we have to unregister the LE watcher's callback as soon as we signal, that we are done with device discovery. We do not expect any additional devices afterwards and might run into a late callback otherwise, so we should stop the watcher immediately and not wait until worker destruction. Change-Id: I85520a4724397aeb5a693d2c8b940a72d68d9663 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | winrt: Handle device disconnection properlyOliver Wolff2019-03-194-14/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | "ConnectedState" is not the only valid "connected" state for QLowEnergyController. "disconnected" also has to be emitted, if we were in DiscoveredState and co. Additionally every value change callback has to be removed and mDevice has to be closed in disconnectFromDevice to make Windows disconnect from the device as there is no specific API to do that manually. Task-number: QTBUG-74394 Change-Id: Ic025b2c668f887db6c4a631cd8fee26a457bc279 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | winrt: Use correct worker signal slot disconnectionOliver Wolff2019-03-191-4/+3
| | | | | | | | | | Change-Id: I41929e01b79ca0eacf80fcb1d5cead2146eb2e8e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>